Something else: Please rename all the occurrences of `ID` to `Id`, in both implementation and API. That's the way how other identifiers are named in SFML (e.g. `joystickId`, `textureId`).