Working version of HingeLoss code used for competition, though it still ...

...seems "touchy" numerically
For the data specs stuff, you can just inherit from DefaultDataSpecsMixin.