Took a stab at some code that would support both backbone and async use