Factor classes into their own files