Struggling to find the best way to implement player input logic

I recreated a simple third-person character using Blueprints only. I’m trying to improve how I implement clean and maintainable input logic. Is this the right pattern? Should I consider a different approach?