Attaching a rigidbody to a gameObject - Football mechanics

I'm trying to put together a simple football /soccer game, and so far it's coming along great. One of the challenges I am facing at the moment is figuring out a way of handling 'dribbling'. When a player gameObject collides with the ball (which is a sphere based rigidBody), it sticks to the player so they can move it around. Obviously this is not how it works in actual football, and the player would dribble the ball instead.

I'm struggling to figure out a way in which I could still get the ball to stick to my player (so it goes where the player moves) but at the same time move it forward ever so slightly with each kick. I tried applying small amounts of force to the ball if a player is in possession, but if the player changes direction dramatically, the ball gets left behind :(

Can anyone think of a way in which I could interact with the football to achieve a dribbling effect? Perhaps using a rigidbody component is not the way to go?

I would make the dribbling an animation and when the player hit the ball, have the player parent the ball and then play the ball animation. Your code might go on the ball and look something like:

function OnCollisionEnter (col : Collision) {
     if (col.gameObject.CompareTag("Player")) {
         transform.root.parent = col.transform;
         animation.Play("Dribble");
     }
}

then you would un-parent the ball when the player kicks it or someone takes it away.

see this complete soccer tutorial http://forum.unity3d.com/viewtopic.php?p=206970#206970