let queue = [] let active = true let status = 'waiting' const is_active = () => active const get_status = () => status const activate = () => { active = true status = 'active' } const deactivate = reason => { active = false status = reason } const add_task = task => queue.push(task) const remove_task = task => queue = queue.filter(t => t.id !== task.id) const get_next_task = () => queue.shift()