 "use strict"
 # things assigned to root will be available outside this module
 root = exports ? this.codeland = {}
+
+deepcopy = (src) -> $.extend(true, {},src)
+
+#IE Support ....
+console ?= {}
+console.log ?= ->
+
+
 
 
 # BACKEND Methods useful for all games

#Updates the player data  
root.storeGameCompletionData = (key,data) ->
    throw new Error("Cannot be null") unless val? && data?
    p = root.getPlayer()
    p.games[key] = data
    root.store("PlayerData",p)
    
root.getPlayer = ->
    @currentPlayer ?= root.load("CurrentPlayer")
    @currentPlayer ?= {
        first : 'Jim'
        last : 'Jam'
        avator : 'generic'
        games : {
            java1a : {

        }
    }

root.updatePlayer = (callback) ->
    p  = root.getPlayer()
    callback(p)
    root.store("CurrentPlayer", player)


_sequence1 = {
