It's not hooked up yet, and only very basic functionality is implemented, but I think this approach will work.