This required a significant refactor to move the mapper data out of the static struct, but in the end is a saner architecture.