if you abtWait (a hack) on a semaphore or a delay, that process will wait after it spins up a new UI process.
a normal semaphore in the UI process will cause the UI process to wait.
AbtSemaphore is a class. the wait method is the same as abtWait on a Semaphore.
a critical block turns off async interrupts and processing switching