Issue #48: added TouchListener protocol