Break out classes into their own files

Per #144.