new interface: pass a function which returns the new to be shown contents of tag, or null.