anchor.diff:      % given
       [Node | _] = ?config(oz_worker_nodes, Config),
       P1 = create_provider(Node, ?ID(p1), [?ID(s1), ?ID(s2)]),
  -    save_user(Node, ?ID(u1), [?ID(g1)], [?ID(s2)]),
  -    save_group(Node, ?ID(g1), [?ID(u1)], [?ID(s1)]),
  -    save_space(Node, ?ID(s1), [P1], [], [?ID(g1)]),
  -    save_space(Node, ?ID(s2), [P1], [?ID(u1)], []),
  -    call_worker(Node, {add_connection, P1, self()}),
  +    U1 = #onedata_user{name = <<"u1">>, groups = [?ID(g1)], spaces = [?ID(s2)]},
  +    G1 = #user_group{name = <<"g1">>, users = [{?ID(u1), []}], spaces = [?ID(s1)]},
  +    S1 = #space{name = <<"s1">>, providers = [P1], groups = [{?ID(g1), []}]},
  +    S2 = #space{name = <<"s2">>, providers = [P1], users = [{?ID(u1), []}]},
  +    save(Node, ?ID(u1), U1),
  +    save(Node, ?ID(g1), G1),
  +    save(Node, ?ID(s1), S1),
  +    save(Node, ?ID(s2), S2),
  +
   
       Context1 = init_messages(Node, P1, []),
  -    Context = flush_messages(Context1, space_expectation(?ID(s2), ?ID(s2), [P1], [{?ID(u1), []}], [], [])),
  +    Context = flush_messages(Context1, expectation(?ID(s2), S2)),
   
       % when & then
       verify_messages_present(Context#subs_ctx{users = [?ID(u1)]}, [
  -        user_expectation(?ID(u1), ?ID(u1), [?ID(s2)], [?ID(g1)]),
  -        group_expectation(?ID(g1), ?ID(g1), [{?ID(u1), []}], [?ID(s1)]),
  -        space_expectation(?ID(s1), ?ID(s1), [P1], [], [{?ID(g1), []}], []),
  -        space_expectation(?ID(s2), ?ID(s2), [P1], [{?ID(u1), []}], [], [])
  +        expectation(?ID(u1), U1),
  +        expectation(?ID(g1), G1),
  +        expectation(?ID(s1), S1),
  +        expectation(?ID(s2), S2)
       ]),
       ok.
   
  
positive.code: %%%===================================================================
  %%% Internal: Message expectations
  %%%===================================================================
  
  space_expectation(ID, Name, Providers) ->
      space_expectation(ID, Name, Providers, [], [], []).
  
negative.code:     % given
      [Node | _] = ?config(oz_worker_nodes, Config),
      P1 = create_provider(Node, ?ID(p1), []),
      U1 = #onedata_user{name = <<"u1">>},
      save(Node, ?ID(u1), U1),
      update_document(Node, onedata_user, ?ID(u1), #{name => <<"updated1">>}),
      update_document(Node, onedata_user, ?ID(u1), #{name => <<"updated2">>}),
      update_document(Node, onedata_user, ?ID(u1), #{name => <<"updated3">>}),
  