Define different strategies for creating new instances of sql.Engine.
By default there are two, one which is the "thread-local" strategy, one which is the "plain" strategy.
New strategies can be added via constructing a new EngineStrategy object which will add itself to the list of available strategies here, or replace one of the existing name. this can be accomplished via a mod; see the sqlalchemy/mods package for details.
Define a function that receives input arguments and produces an instance of sql.Engine, typically an instance sqlalchemy.engine.base.Engine or a subclass.
Construct a new EngineStrategy object.
Sets it in the list of available strategies under this name.
Produces a single Connection object which dispatches statement executions to a passed-in function