protected override void OnUpdate()
    {
        for (int i = 0; i < data.Length; ++i)
        {
            Entity         spawnedEntity = data.Entities[i];
            PizzaSpawnData spawnData     = data.SpawnData[i];

            PostUpdateCommands.RemoveComponent <PizzaSpawnData>(spawnedEntity);

            PostUpdateCommands.AddSharedComponent(spawnedEntity, spawnData.PizzaGroup);
            PostUpdateCommands.AddComponent(spawnedEntity, spawnData.Position);
            IngredientList ingredientList = new IngredientList {
                Value = generatePizzaIngredients()
            };
            PostUpdateCommands.AddSharedComponent(spawnedEntity, ingredientList);

            PostUpdateCommands.AddComponent(spawnedEntity, new Pizza {
            });
            PostUpdateCommands.AddComponent(spawnedEntity, new Heading2D {
                Value = new float2(0, -1)
            });
            PostUpdateCommands.AddComponent(spawnedEntity, default(TransformMatrix));
            PostUpdateCommands.AddSharedComponent(spawnedEntity, BootStrap.PizzaLook);

            PostUpdateCommands.AddComponent(spawnedEntity, getPizzaCost(ingredientList));

            BootStrap.SetPizzaOrderUIIngredients(ingredientList.Value, spawnData.PizzaGroup.PizzaId);
        }
    }