Now using setTimeout instead of Underscore
Updated use of _.invoke and _.has