4glWorks is a working application that can be used as a starting point to develop new applications. The basic idea is that you don't have to write from scratch code that uses tools from a library.
You have a working skeleton that you can extend by adding new modules that interact with the existing code in a standardized way: by exchanging messages.
In a 4glWorks application, different modules interact by exchanging messages in a way similar (but much simpler in design) to event driven systems.
Hopefully, you will not have to change a single line of the existing code. If a module doesn't exactly do what you want, chances are that you can extend its behavior by adding a new module that filters the messages between the old module & the rest of your application. Encapsulation & Inheritance.
Oh, no! This is 4gl! And apart from that, I have never done any serious OO programming. Nonetheless, 4glWorks design was influenced by existing event driven OOP tools.
Applications developed with 4glWorks tend to be smaller in size that if developed the "traditional" 4gl way, while being more flexible in use.