Maps have replaced loops.  Now using the bacon.js library and Q promises.