This paper describes an efficient framework for implementing global illumination techniques, using object oriented and component object methods. This framework facilitates in the development of new techniques or the implementation of existing techniques. By providing a flexible but comprehensive geometric and numeric architecture. The framework abstracts programmers and researchers from implementing an entire system, enabling them to focus only on those areas they are interested in. To illustrate the application of the framework we implement and compare existing and new Monte Carlo methods for global illumination.