About File editor splits and active editors

Following this discussion on slack about splitting an editor I had two questions:

This snippet was given to split on the right side

val fileEditorManager = FileEditorManagerEx.getInstanceEx(project)
fileEditorManager.splitters.openInRightSplit(file, requestFocus = true)

But I also noticed a EditorWindow::split method. Out of curiosity, if we manage to get the window (which looks possible), does that mean we could from that method split in any direction ?

What does exactly represent an EditorWindow? I suppose EditorComposite, means anything that has multiple text editors or preview.

@yuriy.artamonov On a similar topic, is there a recommended way to be notified about active/visible editors (i.e. the editors that are visible to the users, including in split) vs focused editor, where the user has the caret active.
Either via listeners (maybe via one of the events there EditorEventMulticaster) or there could be a coroutine flow (where the flow value could be a list of current active/visible editors).