Soak beans at least 4 hours or up to 12 hours in plenty of water. (I soak the beans in the crock pot.).
Add to the beans one of the garlic cloves, finely minced, 2 tablespoons of the onion, bay leaf and a dash of black pepper.
Cover and cook on HIGH for 2-3 hours (or until beans start to boil) then cook on LOW for approximately 5-6 additional hours. Or cook on LOW all day for about 9-10 hours.
Once cooking time has commenced, check to see if beans are soft. DO NOT drain!
Heat a cast iron skillet* on medium heat and saute the onion, other garlic clove, cumin powder, and oregano in a little bit of oil. With a slotted spoon, transfer the cooked beans to the skillet and begin by mashing using a potato masher. Add some reserved cooking liquid to help mash; mashing to desired consistency. (I puree most of the beans as we like our beans on the soupy side.).
Once the beans are mashed to your liking, stir in the liquid smoke and butter, and about 1 teaspoon salt. Cook, stirring constantly until butter is melted. Taste and adjust all seasonings. You will probably need more salt.
Serve and garnish each serving with a sprinkle of grated cheddar cheese and some green onion slices.
Save about 2 cups of the reserved cooking liquid for reheating the refried beans. DO NOT use water to rehydrate!
*Cast iron will alter the color of the beans. This does NOT effect the taste.