Reimplement very basic event API
Adds #70