Simplify interceptors by isolating the core functionality; rename namespaces