refactor(Delegate): use forHandle method
delegates: allow multiple delegates of same handle

Addresses #877