Monkey-patching, subclassing, and accidental overriding
One of the great things about open-source software is the ability to reuse handy classes written by other people. But sometimes, you find yourself using a class that doesn’t have quite enough features for what you’re trying to do. What’s the best way to deal with that sort of situation?