def init(cls, flask_or_import_name, directory=None, config=None):
        """
        Allow to register all subclasses of Pylot
        So we call it once initiating
        :param flask_or_import_name: Flask instance or import name -> __name__
        :param directory: The directory containing your project's Views, Templates and Static
        :param config: string of config object. ie: "app.config.Dev"
        """
        if isinstance(flask_or_import_name, Flask):
            app = flask_or_import_name
        else:
            app = Flask(flask_or_import_name)

        app.wsgi_app = ProxyFix(app.wsgi_app)

        if config:
            app.config.from_object(config)

        if directory:
            app.template_folder = directory + "/templates"
            app.static_folder = directory + "/static"

        cls._app = app
        cls.assets = Environment(cls._app)

        for _app in cls._bind:
            _app(cls._app)

        for subcls in cls.__subclasses__():
            subcls.register(cls._app)

        return cls._app
Allow to register all subclasses of Pylot
        So we call it once initiating
        :param flask_or_import_name: Flask instance or import name -> __name__
        :param directory: The directory containing your project's Views, Templates and Static
        :param config: string of config object. ie: "app.config.Dev"