This paper describes the design and implementation of the Next Generation Telescope Control System (NGTCS). It outlines the requirements of a generic telescope control system and presents an architectural solution to the requirements problem, and an implementation in Java. The modular design of the NGTCS enables a TCS application to be developed for virtually any telescope using the NGTCS core system, and developing Java classes for system-specific functionality. The Liverpool Telescope will use a TCS built with the NGTCS software.