oops. it does make sense to have a view class after all.