anchor.diff:          fun({_, HookedModule}) ->
               spawn(fun() ->
                   HookedModule:'after'(ModelName, Method, Level, Context, Return) end)
  -        end, Hooked),
  -    Return.
  -
  -%%--------------------------------------------------------------------
  -%% @private
  -%% @doc
  -%% Runs synchronously all post-hooks for given model, method, context and
  -%% return value. Returns given return value.
  -%% @end
  -%%--------------------------------------------------------------------
  --spec run_posthooks_sync(Config :: model_behaviour:model_config(),
  -    Model :: model_behaviour:model_action(), Level :: store_level(),
  -    Context :: term(), ReturnValue) -> ReturnValue when ReturnValue :: term().
  -run_posthooks_sync(#model_config{name = ModelName}, Method, Level, Context, Return) ->
  -    Hooked = ets:lookup(?LOCAL_STATE, {ModelName, Method}),
  -    lists:foreach(
  -        fun({_, HookedModule}) ->
  -            HookedModule:'after'(ModelName, Method, Level, Context, Return)
           end, Hooked),
       Return.
   
  
positive.code:             Level = caches_controller:cache_to_task_level(ModelName),
              ok = task_manager:start_task(Task, Level);
          {error, Reason} ->
              run_posthooks_sync(ModelConfig, Method, driver_to_level(Driver), Args, {error, Reason})
      end.
  
negative.code:         ok ->
              FullArgs = [ModelConfig | Args],
              Return = erlang:apply(driver_to_module(Driver), Method, FullArgs),
              run_posthooks(ModelConfig, Method, driver_to_level(Driver), Args, Return);
          {ok, Value} ->
              run_posthooks(ModelConfig, Method, driver_to_level(Driver), Args, {ok, Value});
          {tasks, Tasks} ->
              Level = caches_controller:cache_to_task_level(ModelName),
              lists:foreach(fun
  