Restructured BF.transition to give a terminate() function in return.
If trying to remove callouts asap, don't use a timeout.

NOTE: If it calls too many functions, it will exceed the stack and crash.
Changed shrink to use an options object.