Add generic button class for reuse