implement expiry method

I've noticed that the property `expired` is marked as dynamic and results in an unrecognized selector exception for the getter `isExpired`