Command, Adapter, and Facade Patterns