These maps are great, however I will show you how to make them better. You usually just say to place the button on the block, but here's how to make the button only placeable on that certain block type. You must type this into the chat:
Suggestion: a survival find the button. Like from punching the first tree to defeating the enderdragon and the wither. A map with every (important) stage in survival minecraft!
/give @s wooden_button 1 0 {"minecraft:can_place_on":{"blocks":["block_name"]}}
Example block names:
Block of Diamond: "diamond_block".
Wooden Planks: "plank_block".
Stone Bricks: "stonebrick".
You can use the second integer to determine the block's data, e.g, different types of wood planks or different types of stone bricks.