REVIEW: [NX-449] Component view framework

Minor: if the `ViewFactory` implementations were tagged with `@Named("myRecipeName")` then you could inject `Map<String, ViewFactory> recipes` here and looking up a factory would simply be `recipes.get(recipeName)`.