 AUTHORITY = "_AUTHORITY"
 INDEX = "_INDEX"
 
-isFunction = (value) ->
-  typeof(value) == "function"
-
-isObject = (value) ->
-  typeof(value) == "object"
-
-isString = (value) ->
-  typeof(value) == "string"
-
 class World
   constructor: (up, label, rx) ->
     assert up, "up always exists"
-    assert isObject(up), "up is an object"
+    assert _.isObject(up), "up is an object"
     @up = up
     cache_rx = rx or @up.get_raw(RX)
     assert cache_rx, "cache_rx"
     @doc = cache_rx.map()
-    assert isString(label), "label is string"
+    assert _.isString(label), "label is string"
     @doc.put(LABEL, label)
     @doc.put(CHILDREN, cache_rx.array())
     @doc.put(RX, rx) if rx?

    new World(authority or @, label)
    
  _from_value: (value) ->
    assert isString(value), "_from_value requires string"
    world = @_spawn_world "#{value}"
    world.put("value", value)
    world


  get: (key) ->
    value = @get_raw(key)
    return value(@,{}) if _.isFunction(value)
    value

  owner: (key) ->
