code: function obv (fn, immediate) {
      if(!fn) return state
      listeners.push(fn)
      if(immediate !== false && fn(state) === true) obv.more()
      return function () {
        var i = listeners.indexOf(fn)
        listeners.splice(i, 1)
      }
    }
docs: implement an observable