Where is this used and why would it return ButtonViewModel's type?