 
         # Callbacks
 
-        # :idle is the initial state and 3 is the target
-        # price for a cup of coffee.
+        # :idle is the initial state
         def init(_args) do
           { :ok, :idle, StateData.new }
         end

defmodule GenFSM.Behaviour do
  @moduledoc """
  This module is a convenience to define GenFsm callbacks in Elixir.

  A FSM (finite state machine) is responsible for reacting to events received
  and a GenFSM is an OTP behaviour that encapsulates common FSM
  functionalities.

  ## Example

  Bellow follows an example of a GenFSM that runs a very simple minded
  coffee vending machine (CVM). The CVM treats all coins the same. If
  you press the request button then the CVM will brew coffee if you
  have paid enough coins, if not it will wait until you have inserted
  enough coins and then it will instantly brew the coffee since you
  had already pressed the request button! As we told you - a very
  simple minded CVM! And greedy too. If you insert more coins than you
  need it will gladly eat them all until you press the request button.

  We will leave it to the service minded reader to improve the way CVM
  works - we hereby declare a full disclaimer for any lawsuits that the
  behaviour of CVM in its original state might encur.


      defmodule MyFsm do
        use GenFSM.Behaviour

        # keeping track of what is going on inside the CVM.
        defrecord StateData, coins: 0, price: 3

        # API functions

  `:gen_fsm` module. For more information, please refer to the
  following:

  * http://www.erlang.org/doc/man/gen_fsm.html
  * http://www.erlang.org/doc/design_principles/fsm.html
  * http://learnyousomeerlang.com/finite-state-machines
  """

  @doc false
