Refactored into using a page renderer