add tests for basic functionality and sync library
mocking the shit out of this async library
add travis-ci support