change API to just return events and not dispatch them.

This is left to users of this module to do on their own.