Using Launch Services for discovering document binding and launching applications
"Launch Services is responsible for binding documents to applications and provides the system-level functionality of launching applications."