- 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
- realized I didn't need one of the methods I added