Using code contracts in the new authentication service.
Using Ninject to implement DI for the authentication service.