public StoreCallbackIngredientBuilder(IIngredientStore ingredientStore)
        {
            _ingredientStore = ingredientStore;

            Id   = new BuilderPropertyImpl <IIngredientBuilder, Guid>(this, Guid.NewGuid());
            Name = new BuilderPropertyImpl <IIngredientBuilder, string>(this);

            ImageLoader = new BuilderPropertyImpl <IIngredientBuilder, string>(this);
            ImageSource = new BuilderPropertyImpl <IIngredientBuilder, string>(this);
        }
        public StoreCallbackPictogramBuilder(IPictogramStore pictogramStore)
        {
            _pictogramStore = pictogramStore;

            Id          = new BuilderPropertyImpl <IPictogramBuilder, Guid>(this, Guid.NewGuid());
            Name        = new BuilderPropertyImpl <IPictogramBuilder, string>(this);
            Description = new BuilderPropertyImpl <IPictogramBuilder, string>(this);

            ImageLoader = new BuilderPropertyImpl <IPictogramBuilder, string>(this);
            ImageSource = new BuilderPropertyImpl <IPictogramBuilder, string>(this);
        }
        public StoreCallbackRecipeBuilder(IRecipeStore recipeStore)
        {
            Id           = new BuilderPropertyImpl <IRecipeBuilder, Guid>(this, Guid.NewGuid());
            Name         = new BuilderPropertyImpl <IRecipeBuilder, string>(this);
            Description  = new BuilderPropertyImpl <IRecipeBuilder, string>(this);
            RequiredTime = new BuilderPropertyImpl <IRecipeBuilder, TimeSpan>(this);

            ImageLoader = new BuilderPropertyImpl <IRecipeBuilder, string>(this);
            ImageSource = new BuilderPropertyImpl <IRecipeBuilder, string>(this);

            IngredientIds = new BuilderPropertyImpl <IRecipeBuilder, Guid[]>(this, new Guid[0]);
            PictogramIds  = new BuilderPropertyImpl <IRecipeBuilder, Guid[]>(this, new Guid[0]);
            StepIds       = new BuilderPropertyImpl <IRecipeBuilder, Guid[]>(this, new Guid[0]);

            _recipeStore = recipeStore;
        }