This is quite a large feature request. Don't hold your breath. OTOH, if you want to contribute code, you're welcome.