Adding the Facade and Adapter patterns