Tldr but I am not sure I really understand the purpose of cucumber still.
Years ago I was on a project where the QA manager insisted on cucumber. But it seemed like just a fancy syntax for tests.
So instead of writing:
clickElement(Selectors.SUBMIT_BUTTON)
You get: When user clicks submit (or given... I am still not convinced there is a difference)
... Okay. Great. You have a new syntax. What problem doesnit solve?