adding a button generator mixin

adding a button generator mixin to provide to the user a easier way to create new buttons