Event managment using reflection and annotations