Updated viewmodel with getting properties and command names through expressions