The idea is you never want to call C_move more than once per entity per frame. If you have multiple functions that handle entity movements it is very easy to do so as there are six directions an entity can be moved. It's personal XYZ and the world's xyz. If you have six c_moves you will kill your FPS especially if you have more than one entity moving this way.
The easiest way to only use one c_move one time is to use skills my.move_x - move_y - move_z move_world_x etc. Have functions that move your player, such as forward backwards strafe, gravity and jumping, wind directions, get called from your player movement function and have them set the skills for the player. I would go ahead and mutliply them by time_step at that point too. Then at the end of your function you use your c_move one time. To keep from having to use the c_move here add up all 6 of those skills and see if they are anything but zero, because if they are zero you don't need to use c_move at all.
Know when not to use c_move at all. Such as birds flying overhead or mice running across the ground which is all part of the scene and not part of the game itself.