make search non-static, add ISearch to server container, make legacy a static wrapper for it, move provider and result to public api