<dom-module id="noflo-icon">
  <template>
    <style>
    :host {
      display: inline-block;
      font: normal normal normal 14px/1 FontAwesomeSVG;
      font-size: inherit;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    </style>
    [[_getIcon()]]
  </template>
  <script>
  class NoFloIcon extends Polymer.Element {
    static get is() {
      return 'noflo-icon';
    }
    static get properties() {
      return {
        icon: {
          type: String
        },
        fallback: {
          type: String
        },
      };
    }
    constructor() {
      super();
      this.icons = require('noflo-ui/icons');
    }
    _getIcon() {
      const result = this.icons.getIcon(this.icon, this.fallback);
      return result;
    }
  }
  customElements.define(NoFloIcon.is, NoFloIcon);
  </script>
</dom-module>

<dom-module id="noflo-icon">
  <template>
    <style>
    :host {
      display: inline-block;
      font: normal normal normal 14px/1 FontAwesomeSVG;
      font-size: inherit;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    </style>
    [[_getIcon(icon, fallback)]]
  </template>
  <script>
  class NoFloIcon extends Polymer.Element {
    static get is() {
      return 'noflo-icon';
    }
    static get properties() {
      return {
        icon: {
          type: String
        },
        fallback: {
          type: String
        },
      };
    }
    constructor() {
      super();
      this.icons = require('noflo-ui/icons');
    }
    _getIcon(icon, fallback) {
      const result = this.icons.getIcon(icon, fallback);
      return result;
    }
  }
  customElements.define(NoFloIcon.is, NoFloIcon);
  </script>
</dom-module>

Make Polymer aware of data dependencies for the method
Make Polymer aware of data dependencies for the method
