[feature] added a controller to handle the different events that can be sent
[refactor] renamed a class