Exposed piece and private information.  Used dict.get() for optional fields.
Made creation_date a property.  Implemented __str__().