Putting together the language plugin system