------
 TODO
------

* Find a good API for the metaclasses.
  - Specifically, a good way to traverse parameters.