Refactoring

Tidy up ninject registrations and introduce StageRegistry