Initial creation of CardAction class
Added CardAction attribute to Card class
Added getter for CardAction
Added overloading usedOn()
Added new CardAction test
New classes for Observer pattern
Replaced Card's useOn with CardAction's useOn where it was used
Finalized delegate class' methods
Added child classes of CardAction that override card action functionalities from the main CardAction class in order to implement special behavior
Removed useOn and related functions from Card class that were delegated to the CardAction class
Associated minions with special card usages with specific CardAction child classes
Replace old usage of Card's useOn with new CardAction method
Change all tests of cards to use new CardAction methods
Removed Observer pattern because the implementation of CardAction rendered the Observer unecessary
Adding patchsets for CardAction classes