Little multiplayer POF with socket.io

I am trying to create a small POF with socket.io, The idea is that each player connected gets a ball and can drag and drop it around the browser view; then other people connected can see it moving and also move their own.

At the moment, the app only has one ball and every player can control it, with the following code:

var express = require('express');
var app = express();

var server = app.listen(80);
var io = require('socket.io').listen(server);

var posx = 10;
var posy = 10;

app.configure(function() {
    app.use(express.static(__dirname + '/public'));
});

io.sockets.on('connection', function (socket) {
    socket.emit('start', {
        x: posx,
        y: posy
    });

    socket.on('newpos', function (data) {
        posx = data["x"];
        posy = data["y"];
        socket.broadcast.emit('move', { x: posx, y: posy });
    });
});

How would I go to have more balls and each player control his own? I was thinking of the following:

To have Express handle sessions that are stored in Redis hashes that contain the session ID and the coordinates for the ball position. This would be for when a new player connects, to place the items, then broadcast each move to everyone (but the sender). but I am sure there is something missing.

Roughly, in which direction should I look at?

Thanks in advance.

If you move posx and posy inside the connection callback every player (aka new connection) has its own ball coordinates on the server. So everything you do inside the connection callback counts only for the connected player. That should bump you in the right direction. :)

BTW: What is a POF?