Command Pattern Allows decouple a sender from a receiver. The sender will talk to the receive through a command. Commands can be undone and persisted.