It took me a while to realize what was going on, but the usual parser limitations are put into good use in revealing the character by obscuring what actually happened.
Nice work.