Knockout Component Not Binding View Model (ES6)
<p>I'm sure I'm missing something entirely obvious here, but I'm trying out ES6 for the first time, and after five days of getting nowhere, I figured I'd open this up the community.</p>

<p>I have a view model class:</p>

<pre><code>class TestViewModel
{
  constructor(params)
  {
    this.firstName = ko.observable(params.firstName);
    this.message = ko.computed(function() { return 'Hello, ' +     this.firstName() + '!' }, this);
  }
}

export default { viewModel: TestViewModel, template: templateMarkup };
</code></pre>

<p>(Ignore the template, it's just a paragraph tag using an import)</p>

<p>Then there's an entry point:</p>

<pre><code>"use strict";
import $ from 'jquery';
import ko from 'knockout';
import comp from '../test-model/test-model';

ko.components.register("test-model", {
  viewModel: comp.viewModel,
  template: comp.template
});

let m = new comp.viewModel({ firstName: "world" });

$("document").ready(function() {
  ko.applyBindings(m);
});
</code></pre>

<p>My page has a simple component:</p>

<pre><code>&lt;test-component&gt;&lt;/test-component&gt;
</code></pre>

<p>When I view the page, the element contains my component's template. Instead of display the message "Hello, world!", the page displays "Hello, undefined!". I've debugged the process multiple times, and it always successfully creates an instance of TestViewModel with the proper parameters. But the view model that gets bound to the page is generated after that by the createViewModel function in Knockout. What am I missing in my set up to bind my instance of the model to the component?</p>