Displays an Application notification.

        :param message: Notification message.
        :type message: unicode
        :param duration: Notification display duration.
        :type duration: int
        :param notification_clicked_slot: Notification clicked slot.
        :type notification_clicked_slot: object
        :param message_level: Message level ( "Information", "Warning", "Exception" ).
        :type message_level: unicode
        :param \*\*kwargs: Keywords arguments.
        :type \*\*kwargs: \*\*
        :return: Method success.
        :rtype: bool

def notify(self, message, duration=3000, notification_clicked_slot=None, message_level="Information", **kwargs):
        """
        Displays an Application notification.

        :param message: Notification message.
        :type message: unicode
        :param duration: Notification display duration.
        :type duration: int
        :param notification_clicked_slot: Notification clicked slot.
        :type notification_clicked_slot: object
        :param message_level: Message level ( "Information", "Warning", "Exception" ).
        :type message_level: unicode
        :param \*\*kwargs: Keywords arguments.
        :type \*\*kwargs: \*\*
        :return: Method success.
        :rtype: bool
        """

        for notifier in self.__notifiers[self.__maximum_notifiers - 1:]:
            notifier.duration = 150
            notifier.hide_message()

        notification = Notification(message=message, time=time.time())

        self.register_notification(notification)

        notifier = Notification_QLabel(self.__container, **kwargs)

        # Signals / Slots.
        notifier.faded_out.connect(self.__notifier__faded_out)
        self.__container.size_changed.connect(notifier.resizeEvent)
        if notification_clicked_slot:
            notifier.notification_clicked.connect(notification_clicked_slot)
        else:
            notifier.setAttribute(Qt.WA_TransparentForMouseEvents)

        notifier.show_message(message, duration)

        self.__offset_notifiers(-notifier.height() - self.__notifiers_stack_padding)
        self.__notifiers.insert(0, notifier)

        if message_level == "Information":
            LOGGER.info("{0} | '{1}'.".format(self.__class__.__name__, self.format_notification(notification)))
        elif message_level == "Warning":
            LOGGER.warning("!> {0} | '{1}'.".format(self.__class__.__name__, self.format_notification(notification)))
        elif message_level == "Exception":
            LOGGER.error("!> {0} | '{1}'.".format(self.__class__.__name__, self.format_notification(notification)))

        return True