Wrap the tofu block in paper towels and set on a plate. Place a heavy object on top of the tofu to press it down (for example, a large skillet with a few cans or books on top). Let the tofu sit for 15-20 minutes so the excess water can drain. Unwrap the paper towels and cut the tofu into 1-inch slices or cubes.
In a glass or non-reactive bowl, combine the soy sauce, vinegar, garlic and pepper. Gently add the tofu and coat on all sides.
Transfer the tofu cubes to another bowl. Add the cornstarch and gently toss to coat the tofu. It will get pasty, and that is okay. Set aside and let it rest for about 5-10 minutes.
While the tofu rests, marinate the mushrooms in the sauce.
In a large non-stick skillet, heat the oil over medium-high heat. Working in batches so you don't crowd the pan, add the tofu and cook for 3 minutes on each side, until browned and crispy. Transfer the cooked tofu to a plate or bowl. If you need to add more oil in between batches, you can.
Add the sauce and the mushrooms to the pan, along with the bay leaf. Bring to a bubble then lower heat to a simmer and cook for about 5 minutes, or until the mushrooms are fork tender.
Drizzle the sauce and mushrooms over the crispy tofu and serve hot over rice.