button creator class (not doc'd)