I would recommend using an AlignOrientation (it’s like a LinearVelocity but for rotation instead of velocity) instead of directly setting the CFrame. You can then update the AlignOrientation’s CFrame how ever often you want (though probably still every Heartbeat/task.wait()). This also makes the movement super smooth, and stops the player from turning their plane instantly/insanely fast.
I don’t believe wait has been deprecated, though task.wait() is the better option for this since it has a shorter delay (minimum wait time for wait is 0.03 seconds, task.wait's minimum is Heartbeat).