Rinse the beans in water and remove any small stones, or bad beans.
Put beans into a pot and cover beans with at least 3-inches of water-about 3 quarts for 2-1/2 cups of dry beans. Bring to a boil and lower heat to simmer, covered, cook for 2-1/2 hours. The cooking time will vary depending on the batch of beans you have. The beans are done when they are soft and the skin is just beginning to break open. Drain the beans from the cooking water.
Add the onions, chili powder, cumin and fat/lard/oil to a wide, sturdy frying pan on medium-high heat.Cook onions until translucent.(Note the onions are optional, you can skip them if you want.) Add the drained beans and about a 1/4 cup of water to the pan. Stir. Using a potato masher, mash the beans in the pan, while you are cooking them, until they are a rough puree. Add more water if necessary to keep the fried beans from getting too dried-out. Add salt to taste. Add a few slices of cheddar cheese, or some (1/2-cup) grated cheddar cheese if desired. When beans are heated through, the beans are ready.
NOTE: Many recipes call for soaking the beans overnight and discarding the soaking liquid. I don't. I discard the cooking liquid and add some water back into the frying pan when frying the beans.