Update language system (functional).

Changed LanguageRegistry and Language, and made it functional
Update language system (functional).

Changed LanguageRegistry and Language to make them functional.