add PagableTask and PagableTaskResult interfaces