Small bug fixes and code clean up.

Also added a requirement for async (going to use waterfall) to deal with
super nested code.