Finally
This probably seemed madly complicated.
I have a confession to make.
When Microsoft introduced object-oriented programming with Visual C++ c. 1993, I gave up programming for years!
Object oriented coding can seem horrendous at first. It might be easier if we didn't teach functional programming before teaching OO. However, from years of writing production scripts and code, I do believe you need both.
If I need to do a task and it's simple, I write a 10-line script.
If I need to reuse old code, or I need something that's modular, I'll build it as a package using the functional programming paradigm.
But if I'm working on a very large project, in particular if I'm working as part of a team, I will always use object-oriented principles.
The bad news is that this was very much an introduction to OO programming for scripting purposes. Once you get into professional coding, you will realize that we've only scratched the surface here.