More flexibility in button mixin

Issue #160