'Generates all pertinent data about the requested page.
Handles getting the correct ``limit`` & ``offset``, then slices off
the correct set of results and returns all pertinent metadata.'

def page(self):

    limit = self.get_limit()
    offset = self.get_offset()
    count = self.get_count()
    objects = self.get_slice(limit, offset)
    meta = {u'offset': offset, u'limit': limit, u'total_count': count}
    if limit:
        meta[u'previous'] = self.get_previous(limit, offset)
        meta[u'next'] = self.get_next(limit, offset, count)
    return {self.collection_name: objects, u'meta': meta}
