The Routing Slip assumes that we have the ability to augment the individual components with the router logic. If we are dealing with legacy applications or packaged applications, we may not be able to influence the functionality of the component itself. Rather, we need to use an external router that communicates with the component via messaging. This inevitably increases the number of channels and components in use. However, the Routing Slip still provides the best trade-off between our goals of efficiency, flexibility, and maintainability.

