Refactoring extension registration - abstracting away registration on objects