I think I'm finally understanding the true power of object-oriented programming.
Previously, I always thought that the state of being an object was reserved for big things with lots of data that needed to be encapsulated. I was very puzzled when I first realized that the Tkinter variable objects - StringVar(), IntVar() and such - are objects. I thought it was a bit excessive to make such small bits of data into objects, as I always figured that the simple act of making and using an object added a lot of extra memory overhead or something.
I still don't understand precisely what goes into making an object, but I have realized that it is hard to overuse objects as long as you write them cleanly. The power that they lend to the process of writing an app is too good to pass up. I can see now why there are some very die-hard OOP zealots. Such power would be difficult to use in moderation! :)
These new revelations, I think, will allow me to surge forward in my learning. I've been kind of 'stuck' for a long time on programming and there was a knowledge barrier that I wasn't able to get past till now.