RPM regulation of direct hub motors
adding to Chris H 2018-04-30 post... I'm going to take a stab at some basic math...

BLDC motors can put out their rated power at high RPM partly due to air cooling enhanced by the high RPM (like computer chips, if you add active cooling, they can go even faster... it's all about how much heat they can dissipate). 

At lower RPM the motor gets less air cooling as a by-product of the RPM, so it dissipates less heat, even though it might be delivering the same amount of power (pulling more weight). 

However, if you're pulling the same weight at 6 km/h as at 25 km/h, you're going to be drawing a lot less power out of the motor for mechanical work, so it'll be generating less heat and probably not need to dissipate heat from RPM-based air-cooling, to keep the motor windings from melting their insulation or the wires themselves from fusing.

I'm new to BLDC controllers, but if there's one that allows you to set an RPM-biased torque limit, or RPM-based power limit on the throttle, you could protect your motor from thermal overload. You could chart a few operating ranges or give it a function with a curve to limit torque or power according to RPM. At 100% rated RPM, it could use 100% power. At 75% RPM, 75% power. At 50% RPM, maybe 40% power, and at 10% RPM, maybe 5% power. 

A simple thermal cut-out might be a bummer if it happened while toting a heavy load up a hill in hand-cart mode. If the controller just limited motor power, you might be able to keep going.

If you've got a motor rated 1000 W at 1500 RPM, it might be rated 250 W at 100 RPM. At the higher speed, it's doing 1000/1500/60 Watt-hours of work per revolution, or 1/100 of a Watt per revolution. With 250 Watts at 100 RPM, it would be doing 250/100/60, or 0.042 Wh of work per revolution, so it could be moving a load 4x as heavy, and 1/15th the speed. (1/4 power applied to 4x the weight should get 1/16th the speed, I guess?, but I had rounding in my calculations above).