fix - clean nio api

use NioFactory as exposed  and promised api