private IPromise <AnimalView> SpawnAnimal(AnimalRemoteDataModel animalModel) { return(_animalsPool.Spawn <AnimalView>( _projectSettings.AnimalsPrefabs.First(a => a.Type.Equals(animalModel.RemoteData.AnimalType)), new AnimalViewParams() { parent = _view.AnimalsRoot, AnimalModel = animalModel } ).Then(v => _animalViews.Add(animalModel.RemoteData.Id, v))); }