As others have mentioned, plugins are the main form of reusable code. This is not very different from creating a carefully constructed Object in a OO language. In fact I find most OO languages to not have very reusable code, the only languages that support re-usability in my opinion, are functional ones like Scheme and Haskell.
~Sean