Card rule refactored to take suit precedence via constructor