Allow removal of dependent objects with composites

Will close #48 . Resolved by adding the current object to the ancestor array after calling its `remove()` method.