Ruby implementation(s) of some concepts presented in William Cook's "On Understanding Data Abstraction, Revisited"