anchor.diff:  % api
   -export([start_link/1]).
   
  --define(PHASE_2_MIGRATION_COMPONENTS, 
  +-define(PHASE_2_MIGRATION_COMPONENTS,
               [checksums, clients, cookbooks, environments, roles, data]).
   
   -define(ORG_META(OrgName), [{org_name, OrgName}]).
   
  --record(state, { account_info, org_name, start_time = 0, error }).
  +-record(state, { account_info :: term(), % TODO #account_info for moser, provided via init config
  +                 org_name :: string(),   % name of the org being migrated
  +                 start_time :: term(),   % timestamp indicating start of migration operation
  +                 error :: term()         % the error that has placed us in failure state.
  +               }).
   
   start_link(Config) ->
       gen_fsm:start_link(?MODULE, Config, []).
   
  -init(Config) -> 
  +init(Config) ->
       % TODO config is currently just org name, we may want to
       % factor up some of the account_info stuff out of moser.
       {ok, disable_org_access, #state{org_name = Config, start_time = os:timestamp()}, 0}.
   
  -disable_org_access(timeout, #state{org_name = OrgName} = State) -> 
  -    case mover_org_darklaunch:disable_org(OrgName) of 
  -        ok -> 
  +disable_org_access(timeout, #state{org_name = OrgName} = State) ->
  +    case mover_org_darklaunch:disable_org(OrgName) of
  +        ok ->
               {next_state, migrate_org, State, 0};
  -        {error, Error} -> 
  +        {error, Error} ->
               %lager:error(?ORG_META(OrgName), "Failed to place org into maintenance mode, skipping it: ~p", [Error]),
               {stop, {error, Error}, State}
       end.
   
   migrate_org(timeout, #state{org_name = OrgName} = State) ->
  -    case moser_converter:convert_org(OrgName) of 
  -        [{ok, _}] -> 
  +    case moser_converter:convert_org(OrgName) of
  +        [{ok, _}] ->
               {next_state, verify_org, State, 0};
           {error, Error} ->
               %TODO lager:error(?ORG_META(OrgName), "Failed to migrate org: ~p", [Error]),
  
positive.code:     end.
  
  enable_org_access(timeout, #state{org_name = OrgName} = State) ->
      case mover_org_darklaunch:enable_org(OrgName) of 
          ok -> 
              {next_state, complete_migration, State, 0};
          {error, Error} -> 
              % Everything's done but we couldn't un-503 the org. Don't
              % undo the migration, it won't help. This needs
              % intervention...
              %lager:error([{org_name, OrgName}], 
              %    "Failed to take org out of maint mode: ~p ~p", [Error]),
              {stop, {error, Error}, State}
      end.
  
  complete_migration(timeout, #state{org_name = OrgName, start_time = Start} = State) ->
      % TODO update migration state 
      Time = moser_utils:us_to_secs(timer:now_diff(os:timestamp(), Start)),
      % TODO lager misbehaving for now: lager:info(?ORG_META(OrgName), "Migration completed successfully in ~.3f seconds.", Time),
      %
  
negative.code: 
  set_org_to_sql(timeout, #state{org_name = OrgName} = State) ->
      case mover_org_darklaunch:org_to_sql(OrgName, ?PHASE_2_MIGRATION_COMPONENTS) of
          ok ->
              {next_state, enable_org_access, State, 0};
          {error, Error} ->
              %lager:error([{org_name, OrgName}],
  