Steam element 130

Nearly done, just fix up the interaction between some elements [and refactor if we have the time..].