factory method reinstated for creategeneric - could cause isses projecttogeneric tasktogeneric and dutytogeneric