task sdk refactor