refactorings to improving code structure quality, including removing cyclic dependencies by introducing a new Language static utility class