Add support for class member variable

supersedes #1417
Use a Token instead of string?