introduced a concept of passes
don't forget to register the entity on assignment
added a BehaviorEngine to run behaviors