abstracted button fixture to use AbstractButton so it works with more
buttons