Add support for class member variable

supersedes #1417
s/expression/declaration/