Scan a directory looking for service files.
        If another directory is found (excluding any python bytecode cache), the method recursively calls itself on
        that directory.
        If a .py file is found, a quiet attempt to load the service from it is performed.

        :param: <str> path to look for services
        :return: <void>

def _scanDirectoryForServices(self, directoryPath):
        """
        Scan a directory looking for service files.
        If another directory is found (excluding any python bytecode cache), the method recursively calls itself on
        that directory.
        If a .py file is found, a quiet attempt to load the service from it is performed.

        :param: <str> path to look for services
        :return: <void>
        """
        # checking if path is actually a directory
        if not os.path.isdir(directoryPath):
            return

        for item in os.listdir(directoryPath):
            itemPath = os.path.join(
                directoryPath, item
            )

            if os.path.isdir(itemPath) and not item.startswith("__") and not item.startswith("."):
                self._scanDirectoryForServices(itemPath)
                continue

            if os.path.isfile(itemPath) and itemPath.lower().endswith((".py",)):
                self._loadService(itemPath)
                continue