If using brisket, cut into 3 large pieces. Pat the meat dry on both sides with paper towels. Season both sides with 2 teaspoons of salt and a generous amount of black pepper.
Heat oil in a heavy skillet over medium heat and brown the meat on all sides, about 5-8 minutes, depending on the cut you are using. Transfer the meat to a slow cooker.
Place the onion, garlic, cumin, oregano, chipotle powder, allspice or cloves, tomato paste, lime juice, vinegar, ½ teaspoon of salt and a few grinds of black pepper in a blender or food processor fitted with the metal blade. Process until smooth. Pour over the meat in the slow cooker. Add the stock and bay leaves.
Cover the slow cooker with the lid and set on LOW for 7 hours. After 7 hours, transfer the meat from the slow cooker to a cutting board. Scrape excess fat off the meat and discard. Shred the meat with two forks and put it back in the slow cooker to mix with the juices. If you have time, allow the meat to cook on LOW for 1 hour more to get even more tender.
Serve with desired accompaniments. This can also be made 1 day ahead and stored covered in the refrigerator. The next day, remove the hardened fat at the surface of the container and discard. Reheat in a large skillet or saucepan.