I thought that was not a good idea, but now that I can see a good implementation I can see I was wrong! Good one.