lib/compiler.js
function(type) {
    var ctl = { type: type };
    var idx = this.form.controls.length;
    var id = this.form.signature + ':' + idx;
    ctl.id = 'c-' + utils.sha256(id).substring(0, 8);
    this.form.controls.push(ctl);
    return ctl;
  }
function(type) {
    var ctl = { type: type };
    var idx = this.form.controls.length;
    var id = this.form.signature + ':' + idx;
    ctl.id = 'c-' + utils.sha256(id).substring(0, 8);
    this.form.controls.push(ctl);
    return ctl;
  }
Creates a control of specified `type`.

The id for each control is a hash based on `this.form.controls.length`.
Two subsequent calls will yield the same result, if no controls
were placed into `this.form.controls` in between.

@private
@param type {String} One of `checkboxGroup`, `radioGroup`, `inputText`, `selectMenu`.