Scheme handles this rather nicely since a function can return a function, and we are representing classes and objects as functions. All Classes must have constructors in order to have instances of that class. Classes can also have varying methods in which to manipulate the data. Destructors are made to clean up dynamically allocated memory. In Scheme you have a nice little garbage collector so you don't have to worry as much about these kinds of problems.
Classes can also have their own variables.
They are known as Class variables which seems like a fairly good name for them. Instance variables would be the variables that each object has for itself. Class methods are functions that apply to the entire Class of Objects. Instance methods belong to each function. In a Stack Class a Class variable could be the number of stacks that have been created and a method could simply be a function returning this value.