Moved stuff around.
Fixed broken test.
Removed old abstractions and started on a newer registration mechanism.