updated event hierarchy:
 * XXXModel class are implementing schemas
 * XXXEvent are actual events
updated test cases
updated