Button mixin (exp)