Tasks now take a reference to a logger instead of pointer