using identifier-based resource caching

configured to use Dir::tmpdir (i.e. /tmp) so this should be extended
further

refs #4