[TASK] New API design: S4 OOP