DAQFactory supports a reasonable implementation of object oriented programming. You can create objects containing member variables and functions, derive them from other objects, and of course instantiate them. So in OOP terms, it supports inheritance, and polymorphism, encourages modularity, but does not have strong encapsulation features as members are all publicly viewable.