Refactor deferred return mechanism