Counterfeit Object Oriented Programming