domain: remove majority of domain specific code

Domains will be using AsyncListener in the near future. On problem is
the EventEmitter, but we're still working that out.