   * `code_change(old_vsn, state, extra)` - called when the application
     code is being upgraded live (hot code swap);
 
-  Starting and sending messages to the gen_server is done
+  Starting and sending messages to the GenServer is done
   via Erlang's `:gen_server` module. For more information,
   please refer to the following:
 
-  http://www.erlang.org/doc/man/gen_server.html
-  http://www.erlang.org/doc/design_principles/gen_server_concepts.html
-  http://learnyousomeerlang.com/clients-and-servers
+  * http://www.erlang.org/doc/man/gen_server.html
+  * http://www.erlang.org/doc/design_principles/gen_server_concepts.html
+  * http://learnyousomeerlang.com/clients-and-servers
   """
 
   @doc false


  There are 6 callbacks required to be implemented in a GenServer. The
  `GenServer.Behaviour` module defines all of them automatically, but
  allows us to customize the ones we need. The list of callbacks are:

  * `init(args)` - invoked when the server is started;
  * `handle_call(msg, from, state)` - invoked to handle call messages;

defmodule GenServer.Behaviour do
  @moduledoc """
  This module is a convenience for defining GenServer callbacks in Elixir.

  A server is responsible for reacting to messages received from a client.
  A GenServer is an OTP behaviour that encapsulates common server
  functionalities.

  ## Example

  Below is an example of a GenServer that pushes and pops items
  onto a stack:

      defmodule MyServer do
        use GenServer.Behaviour
