Trait definitions for storage backend
When this trait is implemented, the underlying interpreter is guaranteed to have full functionality