@startuml Interest Manager in GridMate title Interest Manager in GridMate class "InterestManager" as IM { Init() IsReady() RegisterHandler(BaseRulesHandler*) UnregisterHandler(BaseRulesHandler*) Update() GetReplicaManager() } object "InterestManagerComponent" as IMC object "ProximityInterestHandler" as PIH { CreateRule() CreateAttribute() } object "BitmaskInterestHandler" as BIH { CreateRule() CreateAttribute() } IMC *-- IM : contains interface "BaseRulesHandler" as BRH { Update() GetLastResult() OnRulesHandlerRegistered() OnRulesHandlerUnregistered() GetManager() } IM *-- PIH : contains IM *-- BIH : contains BIH <|.. BRH : implements PIH <|.. BRH : implements @enduml