Generic event class and various examples.