refactor(task): separate a lib from a task