Updating variable name
Updating AbstractType
Adding TypeFactory class