Simplified event hierarchy, now using handles instead of inheritance to accomplish read-only behavior