         [new Some(event.value()), [event]]
       else
         [prev, []]
+  skipErrors: ->
+    @withHandler (event) ->
+      if event.isError()
+        Bacon.more
+      else
+        @push event
+
   withStateMachine: (initState, f) ->
     state = initState
     @withHandler (event) ->

  isError: -> false
  hasValue: -> false
  filter: (f) -> true
  onDone : (listener) -> listener()

class Next extends Event
  constructor: (valueF, sourceEvent) ->

  debounce: (delay) -> @delayChanges((changes) -> changes.debounce(delay))
  throttle: (delay) -> @delayChanges((changes) -> changes.throttle(delay))
  delayChanges: (f) -> addPropertyInitValueToStream(this, f(@changes()))
  takeUntil: (stopper) ->
    changes = this.changes().takeUntil(stopper)
    addPropertyInitValueToStream(this, changes)

addPropertyInitValueToStream = (property, stream) ->
  getInitValue = (property) ->
