Decoupling in action: Changing the implementation of the Card object