I was thinking about removing this method, but adding a separate CheckoutEvent class. Thoughts? It would allow us to remove these ugly interface checks in even listeners.