refactored so singleton object is passed correctly to reflected methods