Ahh I see something in the documentation.
Just a FYI, something like a simple environment variable would cover a lot of use cases. If my snap needs a plug it's a lot simpler to just error if that environment variable is not present or set to a value and display a message.
With a hook system it seems I have to maintain some implicit state in a file somewhere, and hope that the hooks are fired and handled correctly. I get that for some situations like updating config files this is preferable, but for the general 'output a message and quit if this plug is not connected' use case it's pretty heavyweight.