Encapsulate a request as an object, thereby letting you parameterize
clients with different requests, queue or log requests, and support
Ask the command to carry out the request.
self._commands = 
def store_command(self, command):
for command in self._commands:
Declare an interface for executing an operation.
def __init__(self, receiver):
self._receiver = receiver
Define a binding between a Receiver object and an action.
Implement Execute by invoking the corresponding operation(s) on
Know how to perform the operations associated with carrying out a
request. Any class may serve as a Receiver.
receiver = Receiver()
concrete_command = ConcreteCommand(receiver)
invoker = Invoker()
if __name__ == "__main__":