arguably I would use a draper decorator to achieve this as it always has a model context.