(*) Several refactorings and added new events
(+) Added example application