better dependency handling
update BuildCache to accept string, instead of buildfile instance. behavior is identical.