Thanks for pointing it out. The intention is to move the Extraction package code outside the ApplicationService::Install(). IMO the Install() function is a bit large. 
Is there problem to declare this function private? Any better solution?