This doesnt work (i dont understand ur code - its a different style to me) BUT this is an idea of what i think you should do, and its kinda what i thought of when i put in that comment. Obviously it needs improvement, but this is my idea :)