Allow 0 ms delay
Correctly identify error events if swapCache or abort is called in the wrong state
Fire digest also on errors so that the service status updates correctly
Avoid new Function() call