Native bindings

Resolves #7 

I cut this branch off of the `event-options` branch. Once that get's merged the diff should simplify.
why the indentation?