changed the class hierarchy as you suggested and also made sure the events fire in the desired sequence: 05c257e