TQuaternion cleanup + abstract event listener