Carnitas-style pork: preheat your oven to 275 F (135 C).
Cut the pork into roughly 4-inch cubes. If you bought a shoulder with the bone in it, carefully cut off the large hunks of meat around the bone as best you can and add all the cubes, plus the piece with the bone in it, to an oven-safe pot or baking dish.
Add the chicken stock to the vessel with the pork in it, and then add the spices and bay leaf. Stir the spices around with tongs or your hands, moving the pieces of meat to try to get things spread out a bit. Slice an orange in half, squeeze most of the juice out on top of the pork, and then add the orange halves to the pork. Nestle the onion quarters and garlic in as well. Cover the pot or pan tightly with foil and place it in the oven.
Bake for 3 hours.
After 3 hours, turn off the oven and remove the pot or dish. Allow everything to cool for 10 or 15 minutes, and then, using a strainer, remove all the meat chunks to a bowl and strain off all the liquid into another pot or bowl. Discard the bay leaves, orange halves, onion, garlic, and any large spices. Do not discard the reserved broth/liquid.
Using two forks or your clean fingers if the temperature isn't too hot, pull the pork into small bite-sized pieces and move the pork to a container that can be stored and sealed in the fridge. Add a bit of the reserved liquid and pour it directly into the container with the pork. Reserve the rest of the liquid in its own container in the fridge.
When it's time to sandwich or turn into tacos, remove the amount of pork that you plan to eat and add it to a foil-lined sheet pan. Broil the meat in the oven for 6 minutes, and then, using tongs, toss the meat around to expose a second side and broil for an additional 6 minutes or until all of the edges of the pork start to crisp up. After the meat is broiled, splash a couple of spoons of the reserved liquid over the meat and toss to ensure that each piece of meat is coated in a bit of the reserved fatty broth.
Caramelized onions: add 2 tablespoons of butter to a large pan over medium heat.
When butter is bubbly and frothing, add all of your sliced onions. Add a pinch of salt and stir everything to combine.
Reduce the heat to medium-low and cook onions, stirring often, for 20 minutes.
After 20 minutes, your onions should be starting to become lightly tan-colored, but not browned. You might start to see dark brown spots forming on the bottom of the pan, though, and if you do see that, add a tablespoon of water or two to the pan with the onions and use that water to stir the dark parts at the bottom to keep things from burning.
Continue cooking the onions over medium-low heat for another 15 to 25 minutes. Remember: if you see dark spots or dry areas on the pan, add a tablespoon of water. The water should cook off quickly, but it will help to temper the pan temperature and help the onions to cook through without burning.
After the onions are nice and turning brown, remove from the pan to a sealed container, and if not serving immediately, store in the fridge for no more than a week or so.
Sandwich assembly: toast the bagel if desired.
Spread a bit of the avocado and cilantro sandwich spread on the bottom half of the bagel. If you're just using avocado or guacamole, add some on the bottom of the bagel slice.
Top the avocado with a pile of carnitas and then a couple of spoonfuls of caramelized onions. Add more avocado spread to the top piece of the bagel and close to finish the sandwich.
Serve and enjoy.