Basically written, needs testing and stage mode protection
Fix dictionary key collision by switching to list
Add stage safety check