public IActorProcess Add(Func <IActor> actorFactory, string adress, ICanPost parent)
        {
            var id            = NextId(adress, ActorType.Remote);
            var configuration = new ActorProcessConfiguration(id, actorFactory, parent, id.Type, new Uri(adress));

            return(AddInternal <IRemoteActorProcess>(configuration));
        }
        public IActorProcess Add(Func <IActor> actorFactory, ICanPost parent)
        {
            var id            = NextId(null, ActorType.Transient);
            var configuration = new ActorProcessConfiguration(id, actorFactory, parent, id.Type);

            return(AddInternal <IActorProcess>(configuration));
        }
        public IActorProcess Add(Func <IActor> actorFactory, string adress, ICanPost parent, string name)
        {
            if (_actors.ContainsKey(name))
            {
                throw new Exception("already exist");
            }

            var id            = NextId(name, adress, ActorType.Remote);
            var configuration = new ActorProcessConfiguration(id, actorFactory, parent, id.Type);

            return(AddInternal <IActorProcess>(configuration));
        }