public function registerAggregateRootCallback($aggregateRoot, $child, callable $function)
    {
        $childObjectHashId = $this->getObjectHashId($child);

        if (!isset($this->aggregateRootChildren[$childObjectHashId])) {
            $this->aggregateRootChildren[$childObjectHashId] = [];
        }

        $this->aggregateRootChildren[$childObjectHashId][] = [
            "aggregateRoot" => $aggregateRoot,
            "child"         => $child,
            "function"      => $function,
        ];
    }