"seeing that I was headed towards coding myself into a corner."
How do you think you were coding into a corner?
It was because I felt overwhelmed by the code I was writing and it was indeed a big digital bowl of spaghetti code. Although I did have certain parts of the code in separate classes, there still wasn't much modularity. So when a bug pops up I spend all day swimming through the code in order to find it. It only became tougher the more code I wrote. I'll need to do a bit more modularity moving forward. But the previous comments are all very helpful. Coding does feel somewhat of an iterative learning process. It helps to know that I'm not just missing some big picture. Thank you all for the helpful input.