Basic card behavior
Allow adding custom properties
begin spec for custom card types