compiles:
Base = (json = {}) -> {
  for key, o in @@properties
    if key in json
      @[key] = expand json[key]
    else {
      o.default && (@[key] = o.default)
    }
  
  @klass = @@klass
  @initialize()
  if @id, Base.all[@id] = @
  @
}

to:

xx