Code cleanup for scripted items and effects

Moved some code around, broke code for actually creating scripted effect
into its own method instead of the constructor.