Module Pattern
Prototype Pattern