Naming improvement. ButtonOptions becomes ButtonDefinition. Moving towards it being a configuration definition that is used by ButtonSet, which will become more factory-like.
Button definition is now configured after instantiation and not during. More explicit what is going on.
Removing the duplicated call to ButtonSet.new. Might as well wrap that interface call up in a method.
Trying to clarify the testing of Configuration#from_hash
Changing documentation to show that class-macro hash configuration can use keys that are strings or symbols. Updated button-definition to convert symbol keys to strings, so that the getters and setters work properly, which fixes issue #1.
Updating version