I was just going to make it myself, but I kinda hate making playertypes now, so I'll just say my thoughts.
You know when you use the horse, it mounts the default model to it? What if the horse was invisible? What if, instead of using the sit animation while mounted, the default model's animation changes based on how the "invisible horse" moved?
Do you see where I'm going with this?