anchor.diff:  build_data(undefined) ->
       throw(data_required);
   build_data(Data) ->
  -    build_data(Data, []).
  -
  -build_data([], Result) ->
  -    lists:reverse(Result);
  -build_data([Data|MoreData], Result) ->
  -    build_data(MoreData, [[<<"data: ">>, Data, <<"\n">>] | Result]);
  -build_data(Data, Result) when is_binary(Data) ->
  -    SplitData = binary:split(Data, <<"\n">>, [global]),
  -    build_data(SplitData, Result).
  +    [[<<"data: ">>, X, <<"\n">>] || X <- binary:split(Data, <<"\n">>, [global])].
  
positive.code:     {ok, NewReq :: cowboy_req:req(), State :: any()} |
      {
        shutdown, 
        StatusCode :: cowboy_req:http_status(), 
        Headers :: cowboy:http_headers(),
        Body :: iodata(),
        NewReq :: cowboy_req:req()
  
negative.code: %% Helper functions
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  process_result({send, Event, NewState}, Req, State) ->
      EventMsg = build_event(Event),
      ok = cowboy_req:chunk(EventMsg, Req),
      {loop, Req, State#state{state = NewState}};
  process_result({nosend, NewState}, Req, State) ->
      {loop, Req, State#state{state = NewState}};
  process_result({stop, NewState}, Req, State) ->
      {ok, Req, State#state{state = NewState}}.
  
  get_value(Key, PropList) ->
      case lists:keyfind(Key, 1, PropList) of
  