'Returns the default observer for this platform as configured.
Raises:
This will throw an exception if the observer is not available for
whatever reason. The reason may vary depending on the platform.'

@property
def observer(self):

    with self.__lock:
        if (self.__observer is None):
            logger = logging.getLogger(__name__)
            logger.info('Initializing    observer    for    "%s"', self.__platform_name)
            try:
                self.__observer = self._make_observer()
            except:
                logger.exception('Failed    to    create    observer    for    "%s"', self.__platform_name)
                raise
        return self.__observer
