Prototype and Adapter Patterns