One step at a time: this is how a motor works. While a spinning motor can hardly be said to be stepping, we inevitably look at where the force is maximum. If we're astronomers we might like to look at the world as a wheel within a wheel, and talk of motion that is produced with no loss, but when we come to ourselves we might find ourselves looking at a pregnant woman and a Flapper and someone telling us that the head of the home is always responsible.
Practicality necessitates the empirical. Making sausages for people who show us an odometer when we ask them if they think they count, we must then take them to an odometer factory. As soon as we've done something empirically we know that either the symbols are inadequate or our knowledge is.
There is reluctance to call the microprocessor itself a motor. But makers of apps and libs are happy to call things engines, which for reasons of my own I prefer to avoid. Certainly it's obvious that in its simplest form a computer is an infinite loop.
struct computer a; init_computer(&a); do this_and_that(&a); while(1);