Card promotion

This moves the card into its own component