Well it's a single processor chip, so it never can do anything more then one machine instruction at a time. However 16mhz is faster then you might imagine and what may seem inefficient on paper can be duck soup for the chip.
Interrupts are a nice feature as you have used seen. There are also 'state machine' libraries that set up something that looks like multi-tasking, but really is polling via timed interrupts or polling inquires hidden from view.
I'm more proficient in hardware then software so you might hold out for other suggestions. Mine would be just get something running that performs the tasks you want done and later see if there might be a better way to structure the sketch. It's always better if you can post a sketch that either works or is close to working, then ask for ideas on improving it. And my rule is if runs without errors, does what I wanted done, then time to move on to the next project no matter how awkward the code may look on paper.

Lefty