Small fix: use local variable for storing originalThen instead of '_then' on the promise itself.