Wow.. thats.. quite a lot I will definitely keep your advices in mind when creating next project. There were some problems, that I couldn't solve other way than doing things such as
if(score.AddPoint(ball.Logic(deltaT.asSeconds(), paddle1, paddle2))) Reset();
I admit that it is not the best way, but at this point I couldn't make up any other, working solution. You can probably see that I am not the best in creating object oriented code I'm still learning what to make public/private, how to change the private fields etc.. As for putting C in the class names. Well.. it helps me I don't think it confuses other people, and if it does just tell me Thanks for advices!