Separating class definition and class implementation