Break up dispatcher code a bit better