Refactor controlledEntities to controlled
Make Entity abstract, add Entity.action()