Make the biresta (fried onions) - Heat the oil and ghee over medium high heat in a large dutch oven until almost smoking. Add the thinly sliced onions and sauté until a light golden brown. Remove the fried onions from the oil with a slotted spoon and place the fried onions on a paper towel and spread out. Set aside (1) the fried onions and (2) dutch oven with the flavored oil for later use. Divide the biresta into four portions (about ¼ cup each).
Marinate the chicken - Mix all the marinade ingredients and one portion of biresta together in a large bowl. Score the chicken thighs so that the marinade can be more easily absorbed. Add the chicken to the marinade and mix thoroughly making sure that each piece is coated thoroughly. If time permits, cover the bowl and put in the fridge to marinate for at least a half hour. For optimal results allow the chicken to marinate overnight.
Soak the rice - Put the raw, aged basmati rice in a medium sized bowl. Rinse the rice with cold water at least 3 times, stirring vigorously until the rinsed water is clean. Fill the bowl with cold water making sure there are several inches of water on top of the rice. Soak the rice overnight.
Prepare the flavor layers (1) Hard boiled eggs: Boil and peel the hard boiled eggs. Heat the oil from the biresta in the dutch oven over medium heat. Fry the hard boiled eggs, sautéing continuously until lightly golden and the skin blisters slightly. Set aside in a bowl.(2) Potatoes: Heat the biresta oil in the dutch oven on high heat. Once it is very hot, sauté the peeled potatoes until lightly brown. The potatoes will most likely not be cooked through during the frying process. If that is the case, microwave the potatoes until they are completely soft and cooked through inside. If you have a lot of potatoes, bake the potatoes in a 425°F oven for about 30 minutes. You can brush the potatoes with a little biresta oil and sprinkle with a little salt once you are done if you like. Set the potatoes aside. (3) Saffron: Put the warm milk in the bowl. Add the saffron strands and allow to bloom. If the saffron is outside for more than 15 minutes, cover and refrigerate.(4) Biryani flavor bomb: Blend the biresta, powdered milk, rose water and water in a blender. Cover and refrigerate.(5) Fresh green chili peppers: Wash and set aside(6) Mix some food color with water: Set aside. Cook the chicken - Remove any blackened onion bits from the biresta oil in the dutch oven with a spoon. Heat the remaining oil in the dutch oven on medium-high heat. Add the marinated chicken and use a spatula to scrape any excess marinade into the pot. Mix well. Simmer, stirring occasionally for about 15 minutes. Add the prunes, raisins, cranberries and powdered milk and a tablespoon of the biresta (optional). Continue cooking for about 5 minutes or until the chicken is cooked through and the oil separates. Taste and adjust for seasoning. The gravy should taste a little sweet, if it does not, add ½-1 teaspoon of sugar. Turn off the heat. At this point, there should be about 2-3 tablespoons of oil floating in the sauce - if there is more, remove with a ladle and discard. Once done, set the dutch oven aside.
Cook the rice - Strain the water from the soaked rice and set the rice aside to 'dry'. In a large pot add 12 cups of water, two tablespoons of salt. Add the aromatic whole spices (optional), preferably tied in a cheese cloth to the pot. Allow the water to boil - about 5 minutes and add the strained rice. If you have added the whole spices, the water may turn a light brown. Allow the rice to boil until it is about 80% down (about 8-12 minutes). Strain the rice and discard the whole spices tied in the cheesecloth. Set the strained rice aside.
Preheat the oven to 350°F.
Layer the biryani in the dutch oven- - The chicken and gravy should already be on the bottom of the dutch oven. - Add the fried potatoes and eggs in as close to a single layer as possible on top of the chicken leaving about a half an inch around the side. - Drizzle the Biryani flavor bomb mix on top. - Sprinkle one portion of biresta.- Add the remaining rice on top. - Drizzle the saffron milk, food color and rose water on top.- Cover the pot with a tight fitting lid Bake for about 30 minutes, then allow without removing the cover, allow the biryani to rest for about 15 minutes outside the oven. Garnish with the remaining biresta prior to serving.