anchor.diff:      {noreply, State};
   handle_cast({cmd, Cmd, _} = IntCmd,
               #state{cmds=Cmds, socket=Socket, tag=Tag} = State) ->
  -    %% ?LOG_DEBUG("IMAP Being issued cmd: ~p", [Cmd]),
  +    % lager:debug("IMAP Being issued cmd: ~p", [Cmd]),
       CTag = <<$C, (integer_to_binary(Tag))/binary>>,
       ok = ssl:send(Socket, [CTag, " " | cmd_to_data(Cmd)]),
       {noreply, State#state{cmds=gb_trees:insert(CTag, IntCmd, Cmds), tag=Tag+1}};
   %% Called once all inital commands have been completed
   handle_cast({lifecycle, {cmds, complete}}, #state{opts=Opts} = State) ->
  -    % ?LOG_DEBUG("cmds complete", []),
  +    % lager:debug("cmds complete", []),
       case proplists:get_value(post_init_callback, Opts) of
           undefined ->
               {noreply, State};
  
positive.code:                         gb_trees:values(Cmds))),
      churn_buffer(State);
  churn_buffer(#state{cmds=Cmds} = State, [<<"+">> | Response]) ->
      % ?LOG_DEBUG("+: ~p", [Response]),
      ok = lists:foreach(
             fun(Cmd) ->
                     dispatch(Cmd, {'+', Response})
             end, gb_trees:values(Cmds)),
      churn_buffer(State);
  churn_buffer(#state{cmds=Cmds} = State, [Tag | Response]) ->
      % ?LOG_DEBUG("Tag: ~p, Rest: ~p", [Tag, Response]),
      churn_buffer(case gb_trees:lookup(Tag, Cmds) of
                       {value, Cmd} ->
                           ok = dispatch(Cmd, case Response of
  
negative.code: %% @private
  %% @todo -- on termination send {error, _} msgs to all open cmds
  terminate(Reason, #state{socket=Socket, connspec={SocketType, _, _, _}}) ->
      lager:warning("TERMINATING ~p", [Reason]),
      SocketType:close(Socket);
  terminate(normal, _State) ->
      ok;
  terminate(Reason, _State) ->
      lager:warning("IMAP Terminating due to ~p", [Reason]).
  
  
  %%==============================================================================
  