Revising ninject binding
Binding to a derived type
Conditional Binding in Ninject