Pick over dried beans carefully and remove any pebbles or debris.
Place in a large strainer or colander and rinse thoroughly under cold tap water.
Put the beans in a large pot, and cover by 2 inches with water.
Bring the beans to a boil, uncovered, and cook them for about 5 minutes.
Cover and let the beans soak off the heat for about 20 to 25 minutes.
Bring the beans to a boil again.
Add the oregano and bay leaf.
Cover the pan, reduce the heat, and simmer the beans, stirring occasionally, until the beans are barely soft, about 45 minutes.
Add the onion, garlic, epazote and salt.
Add hot water ½ cup at a time, when needed, to keep the beans from boiling dry.
Cook until the beans are very soft, and the broth thickens, about 1 more hour.
Remove the bay leaf and the epazote.
Adjust seasoning.