Adds new classes to factory
Initial commit of component classes
Adds fields to support HTML5 forms
Removes (now) unused fields
Added support to use new Component classes