@callback route_message(message :: any(), targets :: [any()]) :: {:ok, target :: any(), message :: any()} | {:error, reason :: any()}