Refactored into a standalone controller with Intercept methods