Add support for interceptors
Do not allow duplicate listener