What in the world is that @ symbol doing? I've never seen that in ES6. It makes this thing look horrid and nonidiomatic, unless I'm just ignorant, which I could be, and both could be true.
That is a TypeScript decorator[0]. It's not a Real JavaScript Thing™ in the TC-39 sense, but you can use it if you're willing to put up with more build tools.
[0] http://blogs.msdn.com/b/typescript/archive/2015/04/30/announ...