Quick Thought: Names are important. Project names are responsible for a large part of the initial impression of a project. Class and object names, are even more important. They have a direct impact on the maintainability of the code, as well is how productive you are as you are writing it. For any nontrivial program structure, good names help organize your thoughts as you are developing it. I wish I could go into more depth, but I should get back to solving this problem before it leaves my short-term memory. (Here's what happened: I was having a problem structuring my research -- couldn't figure out how to make it all work together. I renamed a class to better represent what it is, and everything suddenly clicked.)