Due to SmileBASIC limitations, it's not perfect however; It cannot natively support IF statements and other multi-command blocks of code, so "wrappers" using COMMON DEF must be implemented. And as there is no true method of interruption, programs must be thoughtfully coded around the scheduler; a poorly placed wait can cause the whole system to freeze, making the scheduler merely preemptive-esque.