Refactor to support returning previous option as in Pike's blog post.