Deconstruct object-oriented programming and use it with other programming paradigms to build applications