Encapsulate a request as an object, letting parametrize clients with different requests, queue or log request and support undoable operations.
Netflix Hystrix: Wrapping all calls to external systems (or “dependencies”) in a HystrixCommand or HystrixObservableCommandobject which typically executes within a separate thread