Task pipelining