Update custom controller best practices