Remove any excess fat from the chicken breasts, including the skin. Place in a large heavy pot and just cover with cold water. Add the onion, bay leaf and garlic and bring to a boil.
Turn the flame to the lowest it will go, cover and simmer for about 25 minutes, or until the chicken is thoroughly cooked. Remove from the pot and let cool.
Shred the meat into pieces with your fingers. Strain the broth, reserving 1 cup, and freeze the rest.
Make the sauce. If using fresh tomatoes, cut in half and remove the seeds, then coarsely chop. If using canned tomatoes, drain them well, then pulse in a food processor into coarse, chunky pieces. Drain again if they're ver juicy.
In a large skillet, heat the oil over medium-high heat. When hot, add the onion and cook until soft and translucent, 3 to 5 minutes. Stir in the garlic and cook until aromatic, 30 to 60 seconds.
Add the tomates, cooking for about 5 minutes if using fresh (you want a thick, chunky paste) or about 3 minutes for canned to let the flavors meld, stirring occasionally.
Stir in the shredded chicken, chipotle and adobo sauce, oregano, chicken stock and 1/2 teaspoon salt. (If using fresh tomatoes, you'll need to add more than 1/4 cup stock so the tinga doesn't stick to the bottom of the pan as it cooks.
The chipotle should be noticeable but not too punchy. Taste and add more if necessary. Bring to a boil, then lower the heat, cover and simmer for about 10 minutes. Uncover and add salt to taste. If the tinga still looks soupy, raise the heat and reduce the juices a bit more.
To serve as tostadas, slather a thin layer of crema on each tortilla. (For more amped-up chipotle flavor, mix a little adobo sauce into the crema.) Add a few spoonfuls of tinga, a slice of white onion and two slivers of avocado to each. Top with the crumbled cheese.