Change utils functions signatures from shared_ptr to const&
Transferred from previous repo:
Currently all utils methods are working directly on shared_ptr. This forces users to always use shared_ptr.
The change to const& allows more freedom in that perspective.