abstract fun subject(mode: CachingMode = CachingMode.TEST, factory: () -> T): Subject<T>
abstract val subject: T