Fix bug with generic writer integration

Needs a virtual function rather than a pointer, i think