This file seems a bit overkill for now.

Maybe just make the API an event emitter?