Now caching at the expression and invariant levels