Clean the chicken pieces and dry them off. Make a couple of slits on each piece and set them aside.
In a large bowl, mix together all the remaining ingredients. Add the chicken into this marinade and mix well, ensuring that every chicken piece is well coated and the marinade is applied into all the cuts. Cover and refrigerate for a few hours, preferably overnight.
I prefer to grill the chicken, but it can be baked too.
Heat the grill and take each chicken piece, give it a shake to remove the excess marinade (save this for later) and place the pieces on the grill. Turn the chicken regularly until cooked through. Set aside and cover with foil to keep them moist.
Pour the leftover marinade into a small pan and add half a cup of water. Simmer over low heat whilst stirring regularly for about 10 minutes or until the marinade is cooked into a sauce.
For the baked version, put the chicken and its marinade in an oven-proof dish, cover with foil and bake in a preheated oven at 180 C for 30 minutes. Turn the pieces over, cover and bake for another 30 minutes. Then remove the foil and place the dish under the oven grill for 5 minutes or so to get the pieces to char slightly. You can then lightly smoke the chicken using a lit coal with a few drops of oil on it.
Serve the chicken and its sauce plus a bowl of kachumbari (a tangy tomato and onion salsa) with either rice, ugali, chapatis, pita bread, naan or fries...whatever you prefer.