

class User extends model.Model

  ###
   virtuals that are only loaded on demand
  ###

  virtuals: 
    friends: loadFriends

  ###
  ###

  validate:
    name      : "string"
    firstName : "string"
    lastName  : "string"

  ###
   synchronize specific user
  ###

  sync: 
    create : createUser
    update : updateUser
    load   : loadUser
    remove : removeUser




u = new User()
u.load () -> 
u.save () ->
u.remove () ->

# friends demanded - load them
u.bind("friends").to(onFriendsLoaded)