Some experiments with OOP patterns in PHP