getOrPut

inline fun <T> getOrPut(namespace: String, key: String, defaultValue: () -> T): T
inline fun <T> getOrPut(key: Key, defaultValue: () -> T): T
inline fun <T> getOrPut(addon: Addon, key: String, defaultValue: () -> T): T