Refactoring registrations to extension methods

Implements #108 
ditto