I was profiling my game, and found that WrinkeManager.Update was taking more time than I would have liked (about 1ms per frame). Nearly all of this time was spent looking up rules in the wrinkleRules dictionary. Given how slow dictionary lookups can be, I thought this might be a good candidate for optimization.
I've attached a patch file that caches the lookup of the rule, too avoid the dictionary lookup every frame. This significantly improves performance for this component. Maybe this is useful to someone else, or it could be considered for inclusion in the WrinkleManager proper. Or, someone can point out a flaw in my patch if they think there's a problem with it. (I'll update this post if I find any problems.)