we would like to keep the class interface consistent. For example setType method besides setting the attribute does a call to setTemplatePath