Well interactions are pretty random by themselves.
Also going back to path walking, if you call walk() like this:
Position[] path = {
new Position(0, 1, 0),
new Position(0, 2, 0),
new Position(0, 3, 0)
};
getLocalWalker().walkPath(path);
It will walk to each position in the array, but randomise each position to a distance of 1 tile.
So most things are already randomised for you.