The hardest part of any programmers job is coming up with a name for class. Because of this Software Design Patterns where born...
Not really but they're a good source to find out what you should call a type of class. Design Patterns came about as a way to unify common design practices.
This website has a wide array of design patterns as well as a list of common anti-patterns that people should avoid when coding.
Take a look through and expand your class structure. Are you sure your making a Wrapper and not a Facade?
I will tell you a lot of stories about good software architecture and teach you how to create it with design patterns. I will guide you through anti-patterns, common pitfalls and mistakes that people make when they plan, create, and manage software projects. In the end, I will teach you how to smell a bad code and improve it with refactoring.
