Simple library for implementing and consuming evented APIs