Issue #3290987 by yas, Xiaohua Guan, baldwinlouie, Masami: Refactor the source code based on Drupal best practices (4) (Use Dependency Injection (DI))