Use ScopedPointer to automatically delete Private