Design it in UML first. Approach your designs using a software methodology that are you comfortable with with, and get used to using things such as a subversion system. If your really interested in mastering game architecture, study it, Game Engine Architecture, API Design for C++, 3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic.
How do you properly code a commercial game architecture?
How do you organize it?
Organize your code well, comment it VERY well. Design a coding "style" and do not skew from it. Take and implement insights from books such as Code Complete.
How do you make it not become unmaintainable spaghetti code?
What specific things to keep in mind when building this, codewise?