It's a lot of code duplication to add a single formatter method. Since Ruby doesn't have interfaces (which is essentially what you've created from the Java world), there's no way to enforce a particular schema on a formatter. I found it somewhat pointless to define a formatting method in yet another place. It just seems silly.

Give me 5 minutes - I think I have a middle-ground solution.