ensure no more than one card can be played per turn
ensure dev cards get marked as played
refactor

metaprogram dev card calls to prevent duplication of before/after logic