move more common code to base mixin
add GtkSpinButtonServiceWidget