REFACTORED: Refactored extractDate and extractLastChange (DRY)
CHANGED: Moved types to separate file