Refactoring registrations to extension methods

Implements #108