Changing copy<Component> to use move and copy constructor