I'm fine with the dispatcher pattern as long as there are only a handful of cases.