[Event||] [EventService|- eventClass:Class of ?;# subscriptions:List of Subscription;- singleton:EventService|instance();publish();unsubscribe();subscribe()] [EventService]->[EventService] [EventService]->[Subscription] [Filter||apply()] [InvalidEventTypeException||] [Subscriber||inform()] [Subscription|+ eventType:Class of ?;+ filter:Filter;+ subscriber:Subscriber|] [Subscription]->[Filter] [Subscription]->[Subscriber] [CriticalFaultFilter||apply()] [Filter]^-.-[CriticalFaultFilter] [FaultEvent|+ CRITICAL:int;+ MODERATE:int;+ LOW:int;+ severity:int;+ source:String|] [ManagementEvent]^-.-[FaultEvent] [ManagementEvent||] [Event]^-.-[ManagementEvent] [StatusEvent|+ status:String;+ source:String|] [ManagementEvent]^-.-[StatusEvent] [Main||main()] [Hub||triggerPublication()] [Router||triggerPublication()] [ErrorLogger||inform()] [Subscriber]^-.-[ErrorLogger] [PagingSystem||inform()] [Subscriber]^-.-[PagingSystem] [StatusConsole||inform()] [Subscriber]^-.-[StatusConsole]