Added a level of indirection to make it possible to find Injectables by annotation class
Changed warning settings
Removed unneeded import
Added toString
Refactored so that instances can now be looked up by specifying their type and a set of criteria; Introduced AnnotationDescriptor class to easily filter by an Annotation