Main interface to Envio.
Provides handy functions to publish messages, subscribe to messages, etc.
register(atom() | {atom(), atom()}, [ {atom(), %Envio.Channel{name: term(), source: term()}} ]) :: :ok | {:error, {:already_registered, %Envio.Channel{name: term(), source: term()}}}