Write cucumber feature tests and begin implementation