Ваш вопрос, кажется, вращается вокруг того, как вы управляете данными, связанными с различными элементами таблицы, с помощью одного и того же плагина и как вы уведомляете внешний код.
Вы можете использовать функцию .data () в jQuery для хранения всего, что вы хотите, в элементе таблицы. Тогда любые действия или события, которые вы подключите, могут использовать эти данные для выполнения своих действий. Должен отметить, что вы можете хранить все, что захотите, включая функции, которые будут выполнены позже.
$('#myTable').data('loadPageFunc', function(pageNumber, pageCount){
//make ajax call and fill in the table
});
//later in code
$('#myTable').data('loadPageFunc')(1, 10);
Это простой пример, но он позволит вам делать много всего. Также, если вы хотите, чтобы внешний код был уведомлен о событиях в вашем коде плагина, вы можете настроить некоторые обратные вызовы, которые могут передаваться в качестве опций для вашего плагина.
Надеюсь, это поможет. Моя единственная другая идея о отслеживании состояния - использование замыканий (анонимных функций, которые ссылаются на данные вне их области видимости). Замыкания сохраняют ссылку на данные, и вы позже используете замыкание в коде. Я не уверен, что это действительно поможет вам, но они очень удобны для подключения кода события, и вы, вероятно, уже много использовали замыкания в jQuery.