Synchronous or Asynchronous Endpoints
There will be plenty of times where you need to send data between endpoints. There are many way of doing this (direct, vm, direct-vm, seda) and you should work out which is the best for your Route before implementing it.
Sometimes you may want the main body of the Route to finish quickly but have some other processing in a subRoute where you do not mind how long it takes. In this situation you should use a seda or vm endpoint as these are asynchronous.
However, if every subRoute is required to have finished before the result of the main Route is returned a direct or direct-vm endpoint should be used. This will make the Route slower but will enable completeness.