Recyclable OOP code from OBList OOP