Motivation (Why)
Allows calling Publisher.stop(id: publisher[:id]) to help with TDD but also offer a more controlled way outside of infrastructure layer / signals e.g.
Outboxer::Publisher.publish_messages do |publisher, messages|
# TODO: publish batch of messages to broker
Publisher.stop(id: publisher[:id])
end