Building message-type agnostic orchestrations