We've developed something somewhat custom at @jux, but it wouldn't be hard to abstract it a bit and add it here.