See #1. Add dependencies, more foundational work.
First working version.

- [x] Live updating on `data` change
- [x] Support for setting all configuration attributes