Partial introduction of AnnotationStrategy
Removed Input class completely thanks to AnnotationStrategy