Extracting completion provider into separate class library
Small refactoring and decoupling