Your idea does sound better than what I've got there :) I must've been too involved with getting code out before thinking about the uses of  variable args. Although since all keys are strings, wouldn't it be more appropriate to have variable string args?