Removes shared_ptr. Fixes interop functions.
Restructure of crtp model.