Practically everything in this component depends on the featuredModel, so it makes sense to factor it out on top of everything else.