Passing shared_ptr to function that creates obj that shared_ptr points to