I think all you need to do is have a method with
@Observer("myListener") public void method(Object obj)
and then call the method asynchronously:
Events.instance().raiseAsynchronousEvent("myListener", Object obj);
Or you should just annotate the method with @Asynchronous and call the method normally.
Sorry, I thought this was a seam question :-(
Look at the PFD - this stuff has all changed quite substantially - specifically look at AfterBeanDiscovery.addObsever(observerMethodDefinition) - but this is really for third party add ons - for an app, use annotations.