JavaScript state management