HUGE refactor. Breaking things out from the old 'structs' package into different packages where things are better broken apart.