I'll probably update this as I determine what exactly I want to do with this.