Thinking about the best ways to organize code