Вопрос носит скорее теоретический характер.
Имеем простейшую задачу вызвать метод класса по щелчку на кнопку.
Собственно сам работающий код:
<body>
	<input type="button" value="OK">
</body>
function NewClass() {
	this.show= function() {
		alert("Some message");
	}
}
button=document.querySelector('input[type=button]');
newClass= new NewClass;
button.onclick= function() {
	newClass.show()
}
Меня интересует установка слушателя (11-13 строки кода).Правильно ли я понимаю, что
button.onclick=newClass.show()
не вариант т.к. контекст в данном случае будет = window и обертка в функцию в данном случае  нужна для того, чтобы функция взяла "на себя" контекст window, а в самом вызове метода класса this соответствовал экземпляру созданного класса?
Также у меня возникает второй вопрос: можно ли обойти эту обертку функцией  вызываемого метода при подвешивании слушателя, при помощи CALL? Т.е. передать контекст принудительно типа так:
button.onclick=newClass.show().call(newClass)
Но так к сожалению не получается: alert выскакивает при загрузке страницы, а сам button.onclick=null, если смотреть из браузера. Вопрос: почему данном случае слушатель отваливается? Ведь контекст я передаю и this=object (проверял alert-ом в this.show).
Есть ли альтернативное решение с "call"?