¿Cuál es la mejor práctica para crear un componente AngularJS 1.5 en Typecript?

Estoy experimentando con el.component() sintaxis en Angular 1.5.

Parece que la última moda es codificar el controlador en línea en el componente en lugar de en un archivo separado, y puedo ver la ventaja de eso dado que la placa de componentes es mínima.

El problema es que he estado codificando mis controladores como clases mecanografiadas y me gustaría continuar haciéndolo porque eso parece ser consistente con Angular2.

Mi mejor esfuerzo es algo como esto:

export let myComponent = {
  template: ($element, $attrs) => {
    return [
      `<my-html>Bla</my-html>`
    ].join('')
  },
  controller: MyController
};
class MyController {

}

Funciona, pero no es elegante. ¿Hay una mejor manera?