Added a bunch of field classes. These are a good start but andyr's Widget class solution is better so these will be refactored into that.