Reusing Microsoft's Foundation Class Library—a programmer's perspective