Refactor Context API to not use nested classes
replace queue with async.series