Changed 'evt.GetType() == typeof(...))' comparisments to  'typeof(...).IsAssignableFrom(evt.GetType())' to support inherited objects/instances.