Replaced shared_ptr copy constructor with make_shared; added move operations on Image and Value