refactoring of ScrollItemPattern, ScrollPattern, WindowPattern