anchor.diff:      [Name|node_names(T)].
   
   %% @private
  -populate_graph(Nodes, Graph) ->
  -    %% Get bucket name.
  -    BucketName = bucket_name(),
  -
  +populate_graph(State, Nodes, Graph) ->
       lists:foldl(
           fun(Node, OrphanedNodes) ->
               File = prefix(atom_to_list(Node)),
               try
  -                Result = erlcloud_s3:get_object(BucketName, File),
  -                Body = proplists:get_value(content, Result, undefined),
  -                case Body of
  +                case download_artifact(State, File) of
                       undefined ->
                           OrphanedNodes;
  -                    _ ->
  +                    Body ->
                           Membership = binary_to_term(Body),
                           case Membership of
                               [Node] ->
  
positive.code:         undefined ->
              lager:info("Not using container orchestration; disabling."),
              ok;
          _ ->
              lager:info("Orchestration: ~p", [Orchestration]),
  
              %% Configure erlcloud.
              S3Host = "s3-us-west-2.amazonaws.com",
              AccessKeyId = os:getenv("AWS_ACCESS_KEY_ID"),
              SecretAccessKey = os:getenv("AWS_SECRET_ACCESS_KEY"),
              erlcloud_s3:configure(AccessKeyId, SecretAccessKey, S3Host),
  
              %% Create S3 bucket.
              try
                  BucketName = bucket_name(),
                  lager:info("Creating bucket: ~p", [BucketName]),
                  ok = erlcloud_s3:create_bucket(BucketName),
                  lager:info("Bucket created.")
              catch
                  _:{aws_error, Error} ->
                      lager:info("Bucket creation failed: ~p", [Error]),
                      ok
              end,
  
              lager:info("S3 bucket creation succeeded."),
  
              %% Only construct the graph and attempt to repair the graph
              %% from the designated server node.
  
negative.code: 
      %% Build the graph.
      Graph = digraph:new(),
      Orphaned = populate_graph(State, Nodes, Graph),
  
      {SymmetricViews, VisitedNames} = breath_first(node(), Graph, ordsets:new()),
      AllNodesVisited = length(Nodes) == length(VisitedNames),
  