Dice your tofu into whatever size you like. I like... dice. heh. Put in a flat glass dish with half the hoisin sauce, soy sauce, ginger, palm sugar and one clove of garlic. Add a couple of drops of sesame oil and stir to combine. Leave to marinate however long you want - overnight is always best.
Heat a large frying pan over medium-high heat and add a little oil. Fry the tofu cubes until cooked through and beginning to brown. Set aside.
In a pot over medium-high heat, add a little oil and fry the onion, other garlic clove and remaining ginger until onion is translucent.
Add stock and water, and remaining hoisin sauce, soy sauce, palm sugar and sesame oil (and a squirt of lime, if you so desire). I also add the remaining marinade. Heat until boiling then turn down to a simmer. Simmer as long as you like for the flavours to meld.
Five minutes before serving, add carrot, capsicum, broccoli, mushrooms and cooked tofu. Check for seasoning, it will probably need salt, depending on your taste. Add some rice to serving bowls and ladle soup over. Top with chopped chives and coriander.