 				result = providerInvoker.invokeSync()
 				@initData(result)
 			else
-				dfd = providerInvoker.invokeAsync().done((result)->
+				dfd = providerInvoker.invokeAsync().done((result)=>
 					@initData(result)
-					if callback instanceof Function
-						cola.callback(callback, true, result)
 					return
 				)
 		return cola.util.createDeferredIf(dfd, result)

						@_setCurrentPage(page, setCurrent)

					@_dontAutoSetCurrent++
					dfd = page.loadData(loadMode).done((result)->
						@_dontAutoSetCurrent--
						if @_currentPage isnt page
							@_setCurrentPage(page, setCurrent)

			pageNo = @pageCount
		return @_loadPage(pageNo, true, loadMode)

	firstPage: (loadMode)-> @gotoPage(1, loadMode)

	previousPage: (loadMode)->
		pageNo = @pageNo - 1
		if pageNo < 1 then pageNo = 1
		return @gotoPage(pageNo, loadMode)

	nextPage: (loadMode)->
		pageNo = @pageNo + 1
		if @pageCountDetermined and pageNo > @pageCount then pageNo = @pageCount
		return @gotoPage(pageNo, loadMode)

	lastPage: (loadMode)-> @gotoPage(@pageCount, loadMode)

	insert: (entity, insertMode, refEntity)->
		if isFinite(insertMode)
