Finished homework lesson 4; Facade, Adapter and Template patterns