Initial attempt to generate a Button done, needs more tests