let's try implementing tenant scoped attachments without introducing a namespace attribute

This reverts commit 3edf0dfad4db004647f59f202ae49e2ce8dfc330.
let's try implementing tenant scoped attachments without introducing a namespace attribute #2

This reverts commit e2b88ccab2ba17d3d3dd3cc27857efa3b8b7666e.
allow for storage path to be a proc so it can be dynamically evaluated