Place chicken in a saucepan, and cover with water. Add 2 bay leaves, bring to a boil, then reduce the heat to simmer for 10-12 minutes or until the internal temperature of the chicken reaches 165°F/74°C. I use a kitchen thermometer to check as overcooked chicken will be dry.
Transfer the chicken to a cutting board or bowl, and shred it with 2 forks.
In a skillet heat olive oil, and fry the onions until caramelized. Add garlic, and cook for 30 seconds.
Add diced tomatoes, chipotles, oregano, cumin, and cinnamon. Stir and cook for 30 minutes.
Transfer the hot sauce to a jug of a blender, add water and lime juice and blend until smooth.
Return the sauce to the skillet, warm it up and add the shredded chicken. Toss until the chicken is well coated. Remove from heat and serve in warmed up tortillas or taco shells with your favorite toppings.