I'm not sure the use of internal method is relevant here because `publish` just does a `_publish` (even though I take the blame for not changing the same DS code ;-))