First pass at the various button interactions