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