Soak the beans overnight or all day in the fridge under three inches of water.
Drain and rinse the soaked beans, and set them aside.
Cook the onions over medium-high heat in oil until they are lightly browned. Add garlic and cook another minute.
Add water and beans, and bring to a boil. Turn down the heat so the beans are still boiling quickly.
Add the salt, pepper and oregano.
Cook the beans until they are soft all the way through, adding water if they start to dry out.
Start testing them for doneness every half hour after they’ve cooked for two hours. Be sure you’ve cooked down enough water to achieve the texture you want. I usually cook mine about three hours and by the time they are done they are dense.
Add the port, vinegar and soy sauce in the last five minutes.
Then for a creamy texture, pull the beans off the stove and use the back of a wooden spoon or a potato masher to break down some of the beans while they are all still in the pot. Spend about five minutes so that most of the beans are still whole but a small portion become a sauce. Then stir to combine.
The beans are ready to enjoy!