Tags save

Ref #4248, Built on #4489 (ignore its commit in here)
Current bugs
- Saves even if you didn't make changes