Ping @rougier so you are aware of these changes. Basically this ensures that the stored function objects stay working appropriately when the GL backend is changed.