I think the ideal way all this should be is for this class to just form the raw data, then pass it down to an altered CommitMessageView as `(getElement('#gitCommitList) as CommitMessageView).commits = commits`, and then use `template repeat` in `<commit-message-view>` as:


    <polymer-element name="commit-message-view" extends="spark-widget" attributes="commits">
      <template>
        ...
        <template repeat="{{c in commits}}">
          <div>
            <div id="identifier">{{c.identifier}}</div>
            ...
          </div>
        </template>
      </template>

In general, with the means Polymer provides, you should almost never have to `new SomeElement` programmatically. The code generates data, the HTML binds to it and renders it.