Reorganizing code using 2 new class

* Add an Eventmanager

* Add a CommandExecutor