build() {
    const { label, type, ...data } = this.config
    return this.markup(type, parsedHtml(label), data)
  }
this is the core method for all controls to produce the form elements to be injected into the dom
the implementation in control.js will return
Supported return configuration elements:
  - field - the DOM element
  - noLabel - this control shouldn't have a label (nor a space for a label)
  - hidden - this control shouldn't render anything visible to the page
@return {Object} DOM Element to be injected into the form, or an object/hash of configuration as above