better dispatcher, which does not rely on regexp-dispatcher and will not bind to wrong methods