А вот над этим надо было посидеть и подумать.

Видел похожие вещи у Серого Брата и Летучей Мыши.

Хотя лучше бы не видел - тогда бы можно было полностью избежать шаблонности.

Однако, держите.. .