Are publish and unpublish supposed to be calling the same function?