storage mixin now uses both intercept and dynamic mixins