I wonder if we could simply pass a constructor function as argument, e.g.:

```javascript
views: {
  "header": Header
}
```

This would be trivial to implement here (and it'll work with normal function too as it returns a instanciated view). Although, that'd mean you couldn't rely on `this` being the parent view instance inside the function.