localize $@
pull up remaining common properties
use factory to generate Param/Input classes

Due to classes having different table/column names the only way to pull
them up would be to generate them dynamically.

Previous implementation worked fine in memory but would not save values
to the DB for properties defined on the base class due to the base class
not having a table name.