core: add task manager