feat: Saved amount in user
feat: Add saved amount field to user to track total savings. Savings are incremented after completing a challenge (manual completion or saved >= target)
Also refactored classes by adding validation classes and redesigned generation