     
     var nextPage: PaginationType? { get }
     
-    var refreshAction: Action<(), [Element], FetchError> { get }
-    var fetchAction: Action<(), [Element], FetchError> { get }
+    var refreshAction: Action<FetchInput, [Element], FetchError> { get }
+    var fetchAction: Action<FetchInput, [Element], FetchError> { get }
     
-    func fetchIfNeeded()
+    func fetchIfNeeded(input: FetchInput)
 }
 
 public extension FetchedArrayViewModelType

/// ArrayViewModel which its array is lazily fetched, or even paginated.
public protocol FetchedArrayViewModelType: class, ArrayViewModelType
{
    typealias PaginationType
    typealias FetchError: ViewModelErrorType
    

        return nextPage != nil
    }
    
    public func fetchIfNeeded(input: FetchInput)
    {
        if willFetchNextPage && hasNextPage.value
        {
            fetchAction.apply(input).start()
        }
    }
}
