Refactored to base abstract class to prevent card instantiation