JavaScript Design Patterns & Review