Currently, the API uses a `TableNamePrefix` string to modify table names. This works, but is inflexible. ### Proposal Introduce an `ITableNameFormatter` interface to handle table name resolution. This allows for: - Custom naming strategies (e.g., environment-based, hashing, localization) - Cleaner separation of concerns - Easier testing and mocking Migration Path: - Mark TableNamePrefix as `[Obsolete]` - If TableNamePrefix is set, internally create a `PrefixTableNameFormatter` to maintain compatibility This preserves backward compatibility while enabling greater extensibility.