Follow-up on review

- Removed `drop database` command from Travis file
- Changed `@api private` to `@private`
- Added validation for callback functions
- Added unit tests for callback functions
- Fixed typo’s