Use visitor for dirty rather than events.