anchor.diff:      terminate_activities(Activities),
       State#state{activities = []}.
   
  -add_activity(Domain, DomainToken, Name, Quorum, Pid, MRef, State) ->
  +add_activity(Domain, DomainToken, Name, Quorum, Opts, Pid, MRef, State) ->
       Activity = #activity{pid          = Pid,
                            mref         = MRef,
                            domain       = Domain,
                            domain_token = DomainToken,
                            name         = Name,
  -                         quorum       = Quorum},
  +                         quorum       = Quorum,
  +                         options      = Opts},
   
       ?log_debug("Added activity:~n~p", [Activity]),
       misc:update_field(#state.activities, State, [Activity | _]).
  
positive.code:     OnSuccess(Token).
  
  handle_start_activity(Async,
                        Domain, DomainToken, Name, Quorum, Body, From, State) ->
      check_no_domain_conflicts(
        Domain, DomainToken, Name, Quorum, From, State,
        fun (ActivityToken) ->
  
negative.code:                      | {majority, Nodes}
                       | [quorum(Nodes)].
  
  -type activity_option() :: {quorum_timeout, non_neg_integer()}
                           | {timeout, non_neg_integer()}.
  -type activity_options() :: [activity_option()].
  
  -record(activity, { pid          :: pid(),
                      mref         :: reference(),
                      domain       :: term(),
                      domain_token :: binary() | any(),
                      name         :: [term()],
                      quorum       :: quorum(),
                      options      :: activity_options() }).
  
  -record(activity_token, { lease        :: {node(), binary()},
                            domain_token :: binary(),
  