reducing the number of dependencies by using Moo instead of Moose
making it easier to compose events with multiple interfaces
adding request (http) interface for events
adding stacktrace interface
adding exception handler with stacktrace generation