golang dispatch framework