Best way to create a mount system?

So I’m trying to create a simple mount system where you can summon a mount through a key and ride it. After the player presses the key, a remote event is fired to the server to create a mount infront of the player. In the local script, there is a while loop which will keep running until the morph is despawned or you ride the mount. To ride the mount you have to get close and when you do, it fires a remote event to the server to clone the player (make them invisible and welded to the mount) and control the mount. Is this a good way to go about this? Or is this very inefficient.