Added observer design pattern for file change detection.