Should these transformation responsibilities be factored out into their own class?