So that start before was a false start. Doing it the right way resulted in problems with having it be synchronous, and doing it fast would've probably made it break somewhere down the line. Given that I was planning to use this in ASBoxer by porting it to Flex, I tried making some mockups and I didn't like how it'd've turned out.
Status: Halted until further notice. I'll finish ASBoxer first and return to this if I think it'll be useful.