Refactor sort: move all API responsability to clo_sort_abstract