     do (e) ->
       effects[e + 'E'] = (args...) -> Bacon.fromPromise @[e](args...).promise()
 
-  $.fn.extend effects
+  if $?.fn
+    $.fn.extend events
+    $.fn.extend effects
+    $.fn.asEventStream = Bacon.$.asEventStream 
 
   Bacon.$
 

  }

  Bacon.$.Model = Bacon.Model

  $.fn.asEventStream = Bacon.$.asEventStream

  # Input element bindings
  Bacon.$.textFieldValue = (element, initValue) ->

    do (e) ->
      events[e + 'E'] = (args...) -> @asEventStream e, args...

  # jQuery Effects

  effectNames = [
