Here is an example of doing just that - it is a dog pushing a ball. This is an extract from the event which controls both.
Two things worth noting. The ball movement has no 'Wait' command, that is because you want these two movements to be happening at the same time.
The other is the last command in the move route above where the ball starts. That is where I get the dog to move half a tile so that it looks like it is touching, and therefore pushing, the ball. You would have to check what the JS equivalent script call is. It probably isn't moveto.
Randomly? Could be hard without scripting. You would probably need a condition variable. If It's a set pattern, then it would be pretty easy. Use the Move Event command and then select which event to move. You can uncheck" wait for completion" to have two events move at the same time.