anchor.diff:            module :: module(),
             state :: any()
           }).
  +-type state() :: #state{}.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %% Behavior definition
  
positive.code:     InitResult = Module:init(InitArgs, LastEventId, Req),
      handle_init(InitResult, Module).
  
  info({message, Msg}, Req, State) ->
      Module = State#state.module,
      ModuleState = State#state.state,
  
negative.code:     Result = Module:handle_info(Msg, ModuleState),
      process_result(Result, Req, State).
  
  -spec terminate(term(), cowboy_req:req(), state()) -> ok.
  terminate(Reason, Req, State = #state{}) ->
      Module = State#state.module,
      ModuleState = State#state.state,
  