Used "enum ViewButtonState" for strongly typed button states