If it needs to be refactored, then you shouldn't have asked for review on the patch.  It would be more appropriate to set the feedback? flag, and add a comment specifing which parts you'd like feedback on.  

At this point, I don't know if you want help with this code or if I should just wait until you've refactored it.