Applying Smalltalk/Objective-C style patterns to Java