Complete rework of the annotation handling in the listener -- enitirely callback based with current state