is this ok or does it make sense to use ctx.print and be able to override ctx.print with a function that stores the output?