Add tests
Handler framework
Add travis and docs