This exact idea has already been described here, waiting for someone to flesh it out and implement it