Bug 1095355 - Create KeyView component.

`key` -> `target`. We could do some defense here if you want to, like

    var view = viewMap.get(target);
    if (!view) { ...; return; }