Refactored a lot.

Tracks file on disk changes.
Handles multiple version of packages.