Add notify calls for events, remove enter/exit_area
Use shared_ptrs to Entity instead of references for observer interface