 	end
 
 	@doc ~S"""
-	Send a message to a named channel by atom
+	Send a message to a channel.
+
+	The channel can be a previously created channel or a named channel by an atom.
+
+	Returns:
+	 * `:ok` if all received the message and no error
+	 * `:empty` if no receivers
+	 * `:nok` some receiver raised an exception.
+
+	 ## Examples
+
+	 Depending on how succesful was the `send` it returns diferent values:
+
+		iex> alias Serverboards.MOM.{Channel, Message}
+		iex> {:ok, ch} = Channel.start_link
+		iex> Channel.send(ch, %Message{})
+		:empty
+		iex> Channel.subscribe(ch, fn _ -> :ok end)
+		iex> Channel.send(ch, %Message{})
+		:ok
+		iex> Channel.subscribe(ch, fn _ -> raise "To return :nok" end)
+		iex> Channel.send(ch, %Message{})
+		:nok
+
+	Sending to named channels:
+
+		iex> alias Serverboards.MOM.{Channel, Message}
+		iex> Channel.send(:empty, %Message{})
+		:empty
+
 	"""
 	def send(channel, %Message{} = message) when is_atom(channel) do
 		channel = Channel.Named.ensure_exists(channel)


	@doc ~S"""
	Subscribes to a channel.

	## Examples


		iex> Channel.send(ch, %Serverboards.MOM.Message{ id: 0 })
		:ok

	Its possible to subscribe to named channels

		iex> alias Serverboards.MOM.{Channel, Message}
		iex> Channel.subscribe(:named_channel, fn _ -> :ok end)
		iex> Channel.send(:named_channel, %Message{})
		:ok

	Its possible to subscribe a channel to a channel. This is useful to create
