extends Node var tasks = {} func start(name: String, message: String): var task = Task.new(name, message) if not tasks[task.name]: tasks[task.name] = [] tasks[task.name].append(task) emit_signal('started:'+name, task) func complete(name: String): if not tasks[name]: return var task = tasks[name].pop_front() if tasks[name].size() == 0: tasks.erase(name) emit_signal('completed:'+name, task) class Task: var name = '' var message = '' func _init(_name: String, _message: String): name = _name message = _message