Using std::map instead of boost::unordered_map to keep tasks in sequence.