I'm adding something similar in datakitten, so there might be something to model a nicer version on there. Will post a link when ready.