import Component from '@ember/component';
import { computed } from '@ember/object';

import ol from 'openlayers';

export default Component.extend({
  tagName: '',

  source: null,
  contest: null,

  feature: computed(function () {
    let contest = this.contest;
    return new ol.Feature({
      geometry: contest.get('geometry'),
      sfid: contest.get('flightId'),
      color: contest.get('color'),
      type: 'contest',
    });
  }),

  didInsertElement() {
    this._super(...arguments);
    this.source.addFeature(this.feature);
  },

  willDestroyElement() {
    this._super(...arguments);
    this.source.removeFeature(this.feature);
  },
});

@@ -127,25 +127,52 @@
 ult 
-Component.extend(
+class ContestLayerFeature extends Component 
 %7B%0A  
@@ -182,78 +182,41 @@
 Name
-: '',
+ = '';
 %0A%0A  
-source: null,%0A  contest: null,%0A%0A  feature: computed(function 
+@computed%0A  get feature
 () %7B
@@ -427,50 +427,35 @@
 %0A  %7D
-),
 %0A%0A  
-didInsertElement() %7B%0A    this._super
+init() %7B%0A    super.init
 (...
@@ -511,17 +511,16 @@
 re);%0A  %7D
-,
 %0A%0A  will
@@ -530,15 +530,8 @@
 troy
-Element
 () %7B
@@ -539,19 +539,25 @@
     
-this._super
+super.willDestroy
 (...
@@ -620,10 +620,7 @@
 %0A  %7D
-,
 %0A%7D
-);
 %0A

Convert to ES6 class