bugfix: StreamController ctor's onCancel func param should return Future.