Major restructure

Bindings abstracted into separate classes. Added constant value
bindings. Lifecycle refactored from bindings. Fluent syntax to match.
Other minor changes.