Refactor

Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
More events

Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>