switched card over to subclassing object instead of dict. Added a bunch of @property methods (most likely will replace with some sort of factory method at some point)