You can add your images as custom files by going into the 'Properties' dialog of the object then selecting the 'Summary' tab and clicking the 'Custom Files' button. Another dialog window will pop up and from there you can add any image you want.
As for your script: if you predefine the state image of the object why would you need to redefine the image again on state change? If you just need the image to change depending on some external variable (ie: media player stops, etc.) omit the code line Object.State = ... as it's not necessary unless another script needs to know what state it is.
I hope this is understandable and that it helps.