anchor.diff:  init(close, _From, {State, _Opts, _Timeout}) ->
   	{reply, ok, closed, State}.
   
  +%% @private
   init(_Msg, State) ->
   	{next_state, init, State}.
   
  
positive.code: recv(Socket, Timeout) ->
  	gen_fsm:sync_send_event(Socket, {recv, Timeout}).
  
  %% @doc set the controlling process to a new owner. Can only suceede if
  %% called from the current owner.
  -spec controlling_process(Socket :: websocket(), NewOwner :: pid()) -> 'ok' | {'error', 'not_owner'}.
  controlling_process(Socket, NewOwner) ->
  
negative.code: %% process, then the socket is set to `{active, false}', also known as
  %% passive. When in passive mode, recv/1,2 are used to retreive
  %% frames.</dd>
  %%     <dt>owner_exit</dt><dd>close, shutdown, {shutdown, Reason}, or 
  %% nothing. If the owner process exits, the websocket will take the
  %% given action. Close means the onnection to the server will close,
  %% but requests to the gen_websocket will return an {error, closed}.
  %% shutdown will exit the gen_websocket for the same reason as the
  %% owner, while {shutdown, Reason} will use the given reason. This means
  %% requests to the gen_websocket will raise an exception. Nothing means
  