Yes, that's fine, but the problem is that as your programs grow more complicated, even within the limits set in a learning context, it will become harder and harder to add additional clunky solutions and make it all work right. You should learn the correct architectural approaches; repeating metaphors that you can use as building blocks, such as delegates, properties, and static members.