Análise de código com motor de passo, estou tentando entender o Arduino.

Um detalhe que descobri agora, a biblioteca Stepper ao executar a função step(), interrompe o processamento do programa até que se finalize a passagem completa do motor. Qual seria a forma ideal para que o programa continuasse sendo executado enquanto o motor esta executando seus passos em paralelo? Acredito que por conta desta interrupção os comandos enviados ao arduino não são processados a tempo.