Add support for class member variable

supersedes #1417
`TODO(vicb): Without ...`