Returns the next pending output. This call should be preceded by a call to HaveOutput() to check if output is available. Calling without checking first will return a nullptr when no output is available.