You were asking about the module_function and public, right?  I thought we had line comments on that actual section.

It makes them into the module equivalent of class_methods so we can do Card::Set[module name] and such.  They default to private, hence the public line.  Maybe one of them is extra with the final code, hmm.