The event router behaviour.
See Cizen.FilterDispatcher.
Cizen.FilterDispatcher
subscription() :: {Cizen.Filter.t(), term()}
delete(subscription()) :: term()
put(subscription()) :: term()
routes(Cizen.Event.t()) :: term()
start_link() :: GenServer.on_start()