Separate the Paginator (as a standalone and configurable Control) from the actual Table Control.
This new "Paginator" Control should further remain the default in Table Control, so from the Table API perspective(actual user code) nothing would change - it would be backward compatible.
This approach would have the following advantages over the actual approach:
- it would allow to use it outside the Table (e.g. for normal dynamic pages, simple blogs, serch result pages, etc.).
- it would allow to write other Paginator Controls (based on this one), e.g. the very popular DiggPaginator:
or even totally different Paginators.
- it would allow to use with the Table Control another Paginator than the default one (with a simple Table#setPaginator(diggPaginator), thus making TableControl even more flexible than it's now.