void putCharacter(int x, int y, ScreenCharacter character)
    {
        synchronized(mutex) {
            if(y < 0 || y >= backbuffer.length || x < 0 || x >= backbuffer[0].length)
                return;

            //Only create a new character if the 
            if(!backbuffer[y][x].equals(character))
                backbuffer[y][x] = new ScreenCharacter(character);
        }
    }