Button base class.