OO interface for sorting collections of complex objects in PHP