$ python -i hello.py
>>> <Registered[*.registered] (<Debugger/* 22393:Manager (queued=0) [S]>, <Manager/ 22393:Manager (queued=4) [R]> )>
<Registered[app1.registered] (<App1/app1 22393:Manager (queued=0) [S]>, <Manager/ 22393:Manager (queued=3) [R]> )>
<Registered[app2.registered] (<App2/app2 22393:Manager (queued=0) [S]>, <Manager/ 22393:Manager (queued=2) [R]> )>
<Started[*.started] (<Manager/ 22393:Manager (queued=1) [R]> )>
>>> manager.fire(Hello())
<Value () result: False errors: False for <Hello[*.hello] ( )>
>>> <Hello[*.hello] ( )>
Hello World!
Hello World!
>>> manager.fire(Hello(), "app1")
<Value () result: False errors: False for <Hello[app1.hello] ( )>
>>> <Hello[app1.hello] ( )>
Hello World!
>>> manager.fire(Hello(), "app2")
<Value () result: False errors: False for <Hello[app2.hello] ( )>
>>> <Hello[app2.hello] ( )>
Hello World!
>>>