Made the LevelObjectController kind of a singleton. its members are editable in the unity editor through the ScriptableObjectInstance.
Also added utility to create instances of scriptableObjects in the unity editor.
Improved error checking in layer