Command pattern definition: "encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations". One of the ...