Compute cached

I have a couple more things to do, but I think it is worth starting the review process on the new memoize scheduling directive.
Why remove set_custom_print here?