Pick through dry beans to remove any stones or bad looking beans.
Place beans in a large enough pot to cover with 2 " of water and soak overnight.
After beans have soaked for at least 8 hours, put in a colander and rinse thoroughly.
Place beans in a large crock pot and cover with approximately 1" of water.
Add all remaining ingredients (except the peanut butter), stir, and cook on Low for 8 to 10 hours until beans are tender.
When beans are done, remove bay leaf and large pieces of cooked bacon.
Ladle 1/2 of pot of beans in a separate bowl in order to puree in a blender. Puree in as many batches need in order not to overfill the blender. Return puree to remaining whole beans in the pot.
Stir bean mixture gingerly to combine without mashing remaining whole beans.
Add the peanut butter now. Stir until combined.
Reheat mixture on medium low until thoroughly heated. Serve as desired.