Refactored events into a single wrapping class
Added initial support for Trezor state machine to support client