Basic system manager code in place

Also implemented an entity observer, which can be notified of changes to entities. This is used by the system manager.