Hmm, I'll probably go with delegates in this program then, like JonnyPoet said.
But the link Arjay gave is very useful too, thanks for it.

As the program is getting bigger and bigger, I'm starting to feel the need of clear design from the beginning of the project... Gonna have to rewrite some code now. :\

Thanks for all replies.