Adding remove
Replacing Recursion with while loop
Using Refs for vectors, adding const vector adding unordered_map contains
Adding Parent Wrapper to entity to keep track of children
Adding getter for top level entities
Adding contains method