mark as function ptr
Keep this around as an instance var
Custom init callback