Provide a module with core paginator methods (next, prev, first, last, page) as well as the ability to calculate the total number of pages given the total number of items and the items to display per page.
Provide a module with the ability to interchange views to fit the UI needs of the paginator instance.