Remove PrivateImplPointer in favour of std::unique_ptr