Prepare the tofu at least 1 hour ahead of time. Slice the block and then cut the slices into cubes. Arrange cubes onto paper towels on a plate. Put paper towels over the top. Weigh down the top with a flat object (I used a wooden cutting board and a coffee can on top). Change the paper towels at least once to blot up excess water. Let stand for 1 hour.
Remove the tofu from the paper towels. Add it to a bowl with the cornstarch, salt and pepper. Toss to coat with cornstarch.
Slice the mushrooms, cabbage, celery and garlic. Keep each separate and set aside.
Heat 2 tablespoons of oil in the wok. Add the tofu. Cook for 5 minutes on one side, flip, and cook an additional 3-5 minutes until tofu is evenly browned. Remove from the wok and set aside.
Heat another 2 tablespoons of oil and add the mushrooms and celery. Stir and cook for 2 minutes.
Mix rice vinegar, soy sauce and garlic.
Add napa cabbage to the wok. Add liquids. Stir and cook for 2-3 minutes.
Add tofu back to the wok, stir to warm it again, then remove from heat. Enjoy immediately.