Dependency tracking

Addresses #30