package Ġme . w cy . flow bus Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġw ang chen yan . top Ġon Ġ 2 0 2 2 / 1 / 1 8 . Ċ Ġ*/ Ċ object ĠFlow Bus Ġ{ ĊĠĠĠ Ġinternal Ġconst Ġval ĠTAG Ġ= Ġ" Flow Bus " ĊĠĠĠ Ġprivate Ġval Ġevents Ġby Ġlazy Ġ{ Ġmutable Map Of < String , ĠEvent <* >>() Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġwith (): ĠEvent < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith ( T :: class . java . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġwith ( key : ĠString ): ĠEvent < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( events . containsKey ( key ). not ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevents [ key ] Ġ= ĠEvent < T >( key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġevents [ key ] Ġas ĠEvent < T > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġremove Event ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevents . remove ( key ) ĊĠĠĠ Ġ} Ċ }