make taskqueue implementation optional