- added `assign_from_copy` method

Added `assign_from_copy` method, which takes a copy of the Component and creates a new component using the copy constructor