In a large pot, heat some oil over medium heat and sauté the onions until they are soft and translucent. Add the meat and brown it on all sides.
Stir in the garlic, tomatoes, tomato paste, cumin, coriander, paprika, turmeric, caraway seeds, salt, and pepper. Cook for a few minutes until the tomatoes start to break down.
Pour in the water and bring the mixture to a boil. Reduce the heat, cover the pot, and let it simmer for about 1.5 to 2 hours, or until the meat is tender.
While the meat is cooking, tear the bread into small pieces and place them in a steamer basket. Steam the bread for about 10 minutes until it becomes slightly moist.
Once the meat is tender, remove it from the pot and shred it into smaller pieces using two forks.
Dip the steamed bread pieces into the cooking liquid from the pot, allowing them to soak up the flavors and soften.
Arrange the soaked bread on a large platter. Top it with the shredded meat and cooked chickpeas (if using). Pour some of the remaining cooking liquid over the bread and meat, allowing it to absorb.
Garnish with fresh coriander or parsley.