Region should have its own class file and you should feel bad