Create a generic interceptor framework