* Refactor.

While tight coupling has its benefits, I did lose some flexibility, especially
on tests. Back to callbacks.