I've written a number of reasonably sized projects, so I think I understand the basics of architecting a program. Figuring out how......