Adding isUndefined, fixing exec, passing subject to then/otherwise callbacks. Updating spec.