[#493] Create fixtures file
[#493] Use multimethods for event handling
[#493] Create app state in main function