Adding support for async and new When message processor