from abc import abstractmethod


class BaseSender:

    @abstractmethod
    def sms(self, **kwargs):
        pass

    @abstractmethod
    def email(self, **kwargs):
        pass

    @abstractmethod
    def native(self, **kwargs):
        pass


class Sender(BaseSender):

    def sms(self, phone_number, message, **kwargs):
        ret = f'phone_number:{phone_number}, message:{message}'
        print(ret)
        return ret

    def email(self, email_address, message, **kwargs):
        ret = f'email_address:{email_address}, message:{message}'
        print(ret)
        return ret

    def native(self, userid, message, **kwargs):
        ret = f'userid:{userid}, message:{message}'
        print(ret)
        return ret
