Generic `execute`

- **Breaking**: Change bulk `execute` to explicit `bulk` due to ambiguity.
- Introduce `RequestDefintion` for generic `execute`
- DRY Future injection
- Make request builders `private`