Text this: An Introduction to Object-Oriented Programming with a Didactic Microworld