Minecraft wiki entry for Basic_Piston_CSG, associated text: The water and lava can be covered with slabs, especially once cobblestone forms.
The redstone dust directly behind the piston isn't actually needed for the normal cycle, but it is needed for the button to be where it is. You can alternatively put the button in there instead of the dust.