Note that this will still need the core side destructors to have the ref remove function used in order to have invalid pointer errors.