anchor.diff:  handle_cast(stop, State) ->
       {stop, normal, State};
   
  -handle_cast({output, Text}, #state{output=Output}=State) ->
  +handle_cast({output, Text}, #state{flush=true, flush_handler=FH}=State) ->
  +    flush_handler(Text, FH),
  +    {noreply, State};
  +
  +handle_cast({output, Text}, #state{flush=false, output=Output}=State) ->
       NewState = State#state{output = <<Output/binary, Text/binary>>},
       {noreply, NewState};
   
  
positive.code: 
  -include("ephp.hrl").
  
  -record(state, {
      output = <<>> :: binary()
  }).
  
  %% ------------------------------------------------------------------
  
negative.code: %% ------------------------------------------------------------------
  %% Internal Function Definitions
  %% ------------------------------------------------------------------
  
  flush_handler(Text, stdout) ->
      io:fwrite("~s", [Text]),
      ok;
  
  flush_handler(Text, {io, FH}) ->
      io:fwrite(FH, "~s", [Text]),
      ok;
  
  flush_handler(Text, FH) when is_function(FH) ->
      FH(Text),
      ok.
  