wrap task model instead extend