Add explicit move constructor/assignment to protect pointers