* Initial optimization implementation
* Add tests
* Updated function and node accessors
* Avoid using static mutex in get_ordered_ops
* Apply comments
* resolve PR comments
* Move mutex up
* Simplify shared info
* Fix info copying in node copy c-tor
* Move friend declarations to public
* Fix to support node access from multiple functions in different threads