refactor, move `column_for` to `AbstractAdapter` for better reuse.