Add module header
Move types to separate module
Add documentation
Hide internals from main API
Add module header
Rename decode and encode to mimic Binary package

This lead to more intuitive API.