Findest du nicht, dass dieses INTERFACE den Code nur schwerer lesbar macht, weil du nicht mehr direkt hinschreibst, was du eigentlich meinst?
Ansonsten, du scheinst im Moment jedem Objekt einzeln die ganzen Funktionspointer zuzuweisen. Es wäre wahrscheinlich sinnvoller, nur eine Struktur mit den ganzen Pointern zu definieren und im Objekt nur noch auf diese Struktur zu zeigen. Man kann's aber natürlich auch so machen wie du.