How to make this more oop firendly? - C#