@randx do we also need to pass `GL_ID` here, for the update hook?