This sounds like what I'd like to build.