listen(nameofthonker, ...callbacks) {
        let value = this.thonkers.get(nameofthonker);
        if (!value)
            throw `${nameofthonker} must be bound before you can listen to it`

        value.callbacks = value.callbacks.concat(callbacks);
        
        this.thonkers.set(nameofthonker, value)
    }
/**
     * Listen for a change in value of a thonker
     * @param {string} nameofthonker The name of the thonkers
     * @param {callbackfunction[]} callbacks Callback(s) to bind
     */
Listen for a change in value of a thonker
@param {string} nameofthonker The name of the thonkers
@param {callbackfunction[]} callbacks Callback(s) to bind
Listen for a change in value of a thonker @param { string } nameofthonker The name of the thonkers @param { callbackfunction [] } callbacks Callback ( s ) to bind
listen(nameofthonker, ...callbacks) {
        let value = this.thonkers.get(nameofthonker);
        if (!value)
            throw `${nameofthonker} must be bound before you can listen to it`
        value.callbacks = value.callbacks.concat(callbacks);
        this.thonkers.set(nameofthonker, value)
    }
listen ( nameofthonker , ... callbacks ) { let value = this . thonkers . get ( nameofthonker ) ; if ( ! value ) throw ` ${ nameofthonker } ` value . callbacks = value . callbacks . concat ( callbacks ) ; this . thonkers . set ( nameofthonker , value ) }
Listen for a change in value of a thonker
 @param {string} nameofthonker The name of the thonkers
 @param {callbackfunction[]} callbacks Callback(s) to bind
Listen for a change in value of a thonker @param { string } nameofthonker The name of the thonkers @param { callbackfunction [] } callbacks Callback ( s ) to bind