Separate Game Data and Logic with ScriptableObjects | Unity