Make SourceData a shared pointer
This information being shared across multiple classes as a raw pointer. Use QSharedPointer to make this more obvious.