Architecture advice - Android to UNO controlling one motor

I'm looking for some advice on how to approach this. I've read a lot and tried a few things, but nothing feels quite right yet.

The end result will be an Android app talking to an UNO which will control a stepper motor. Simple enough, right?

Hardware:

I have established USB communication from the Android app and I can send commands to the Uno and read them with the sketch using serial read in the loop.

Desired state is this - when I press down on a button on the Android app, I want the motor to run. When I release the button, the motor should stop.

With my current setup I can send a command to start the motor going. I.e. - run a function that has a loop to run the motor.

My problem is this -
All the code I've seen to run the stepper motors seem to block. Since I don't want to run the motor for a particular number of steps (something finite), I just want to run it until I release the button on the app, how do I set this up?

I've read a little about timers on the Arduino side so the UNO could take subsequent serial requests (like stopping the motor).

I'm looking for advice on the best way to set this up.