Buttons support

The improved framework with easy to create buttons