Document ALL the things!

Also set a few things to package-private
 and turned BanType.getName into its toString