   self[property] = ko.computed
     read: ->
       if self[property].loaded() == false
+        console.debug 'LazyLoading property', property
         callback.apply(self, params)
       return _value()
     write: (newValue) ->

  self[property].loaded = ko.observable false
  #load it again
  self[property].refresh = ->
    result.loaded(false)

LazyObservableArray = (self, property, callback, params = [], init_value = null) ->
  LazyObservable self, property, callback, params, init_value, true

#if require?
#  ko = require '../../../knockout/build/output/knockout-latest.debug'

Observable = (self, property, initial_value) ->
  initial_value = self[property] if initial_value == undefined
