closes #89, make operations interruptible if a state change is occurring