simple mvvm lib.