Make the sauce: Add all of the sauce ingredients to a small bowl and whisk to combine. Set aside.
Prepare the filling: In a large skillet or non-stick pan heat the oil over medium-high heat. Add the onion, ginger, and garlic. Sauté for about 5 minutes until the onions turn translucent and begin to brown.
Reduce the heat to medium and use your hands to crumble the tofu into the pan. Cook for about 5 minutes until the tofu begins to brown. Tip: don't stir the tofu too much, let it cook for a couple of minutes without stirring so that the bottom can brown. Stirring too often will make it difficult for the tofu to brown. Add the mushrooms and continue to cook until the mushrooms are cooked through and darker in colour, about 5 minutes. Add all of the sauce to the tofu and mushrooms and stir to mix in. Remove from heat.
Assemble the lettuce wraps: Spoon a couple of tablespoons of the tofu filling into each lettuce leaf, and then garnishing with any toppings as desired.
Oil-free: to make oil-free omit the sesame oil in the sauce. Use a good non-stick pan and use water or vegetable broth instead of the light oil to sauté the onions, ginger, and garlic. Peanut Butter: sub another nut or seed butter if preferred. Meal prep/ make ahead: prepared and cooled tofu mixture can be stored in an air-tight container in the fridge for 2 -4 days. Assemble the lettuce wraps just before serving.