allow for storage path to be a proc so it can be dynamically evaluated
use strings to inject dependent classes