Even though this is php, I feel like the class structure is not too far from something written in Java. It seems comprehension of one object oriented language opens up a whole world of opportunity.