inline fun <reified M : Any, T> subject(noinline subjectProperty: (M) -> Subject<T, T>): SubjectDelegate<M, T>