What does AbstractInvocationHandler buy us in this case? equals/hashCode/toString?