add tests to client to make sure components are called when expected.
add travis config.