Hosting Object-Oriented Programming in Totally Functional Programming with “Characteristic Methods”