touchData and keyData are no longer heap-allocated/smart pointers.