Modified the state transition model of Promise