Simplified to allow greater control of the context of the button