def METHOD_NAME(
    connection, get_connection_url_fn: Callable, get_connection_args_fn: Callable
) -> Engine:
    """
    Generic Engine creation from connection object
    Args:
        connection: JSON Schema connection model
        get_connection_url_fn: url build callable
        get_connection_args_fn: args build callable
    Returns:
        SQLAlchemy Engine
    """
    engine = create_engine(
        get_connection_url_fn(connection),
        connect_args=get_connection_args_fn(connection),
        poolclass=QueuePool,
        pool_reset_on_return=None,  # https://docs.sqlalchemy.org/en/14/core/pooling.html#reset-on-return
        echo=False,
        max_overflow=-1,
    )
    if hasattr(connection, "supportsQueryComment"):
        listen(
            engine,
            "before_cursor_execute",
            partial(inject_query_header_by_conn, connection),
            retval=True,
        )
    return engine