Component: Button

I'd rather keep them separated.