Organizing and using make_shared