Remove excess fat from chicken cavity. Rinse the chicken inside and out. Place 1 bay leaf, 2 sprigs parsley, and 1/4 teaspoon thyme in cavity. Season with salt and pepper.
Melt butter in heavy Dutch oven over medium heat. Add onions and cook, stirring occasionally, until onions are translucent (but not browned); about 5 minutes.
Place the chicken, breast side up, in the Dutch oven, on top of the onions. Add chicken broth (and water, if necessary) to mostly cover the chicken (by about two-thirds). Cover and simmer gently over low heat for 30 minutes.
Skim the suface to remove any foam and fat. Add the carrots, leeks, and celery. Add the remaining parsley sprigs, thyme and bay leaf. Cover, and adjust heat to maintain a slow simmer for another 30 minutes.
Add the potatoes and continue to simmer until potatoes are done and chicken is very tender, about 20 or 30 minutes. Remove from heat.
Remove chicken and transfer to a large plate. Use a slotted spoon or similar tool to remove parsley and bay leaves from broth. Let the chicken rest until it is cool enough to handle, then just use your fingers to remove the skin and peel meat from the bones. Discard skin and bones. Continue to use your fingers to shred the meat into bite-sized pieces.
Place Dutch oven with broth (which has cooled a little) over medium heat. While that’s heating up, beat the cream and the egg yolks together in a bowl. Now, take a ladleful of hot broth and slowly add to the egg yolk mixture, while stirring. This tempers the yolks. Then, slowly stir the tempered egg yolk mixture into the larger pot of broth and vegetables. Do not boil or the egg yolks might curdle. Add the chicken. Garnish with fresh chopped parsley.
Serve in bowls, making sure everyone gets equal amounts of chicken, vegetable and broth. I serve a with a hearty loaf of hand-sliced bread.
Note: Waterzooi can be prepare almost entirely in advance, and the flavors are actually enhanced by sitting overnight in the refrigerator. The day before you plan to serve the dish, prepare the recipe through Step 5. Let cool completely and refrigerate the broth and vegetable separately from the chcken. The following day, before serving, reheat the chicken in the broth. Prepare the egg yolk and cream mixture and proceed with the last steps of the recipe. (The chicken may remain in the broth.).