Fix After annotation, refactor AnnotationHandler