PHP Objects, Patterns, and Practice