Put the beans into a small pot and add enough water to cover by a couple inches. Bring to a boil, then turn off the heat and let them sit while you get the meat started. Add a garlic clove and a couple bay leaves to the pot.
Set a medium pot (I like a heavy enamel-coated cast iron Dutch oven) over medium-high heat, add a drizzle of oil and brown any long-simmering meat you have, like pork shoulder or ribs. I even browned my fresh sausages at this point. Transfer them to a plate (slice the sausages into chunks) and add the onion, carrot and celery to the pot; cook for a few minutes, until soft. Add the garlic and cook for another minute.
At this point, if you want to transfer everything to the bowl of a slow cooker, do it, draining the beans and adding them as well, along with just enough water (or stock) to cover. Add a couple more bay leaves, cover and cook on low for 8 hours. Otherwise return the meat to the pot, drain and add the beans, add the tomatoes and enough water (or stock) to barely cover everything, and cook over low heat for about 3 hours, until all the meat is very tender and the sauce has thickened. (Check often to ensure the liquid isn’t cooking off.) Add a squeeze of lime and season with salt and pepper, if it needs it - this will depend on the salted and cured meats that are already in there.
If you like, let the stew cool so that you can pull out any bones and other bits you don’t want in there - the flavour will also improve if it’s refrigerated overnight. Serve topped with fresh cilantro (if you like), on steamed rice (if you like), with orange wedges. Serves 6 or more.