The OO bootcamp problem of "Cabinet System" in ruby.