Fixed a ConcurrentModificationException
Cleaned up a little to make entities that share other entities implement an interface to keep consistency.