Refining class definitions in CLS

Features an update to basic declarations and definitions, making a template definition one of the basic definitions.