PHP OO clarifying polymorphic code