anchor.diff:      case catch start_portprogram() of
   	{ok, Port} ->
   	    Starter ! {ok, self()},
  -	    loop(Parent, #state{port = Port, cmd = []});
  +	    loop(Parent, #state{port=Port, cmd=[], options=[]});
   	no_heart ->
   	    Starter ! {no_heart, self()};
   	error ->
  
positive.code: -export([start/0, init/2,
           set_cmd/1, clear_cmd/0, get_cmd/0,
           set_callback/2, clear_callback/0, get_callback/0,
           cycle/0]).
  
  -define(START_ACK, 1).
  
negative.code:         {From, clear_callback} ->
              From ! {?MODULE, ok},
              loop(Parent, S#state{callback=undefined});
  	{From, set_options, Options} ->
              case validate_options(Options) of
                  Validated when is_list(Validated) ->
                      From ! {?MODULE, ok},
                      loop(Parent, S#state{options=Validated});
                  _ ->
  		    From ! {?MODULE, {error, {bad_options, Options}}},
                      loop(Parent, S)
              end;
          {From, get_options} ->
              Res = case S#state.options of
                        [] -> none;
                        Cb -> {ok, Cb}
                    end,
              From ! {?MODULE, Res},
              loop(Parent, S);
  	{From, cycle} ->
  	    %% Calls back to loop
  	    do_cycle_port_program(From, Parent, S);
  