Yeah you're right actually. It doesn't really need to be radial. Maybe we can simply call the protocol `MMProgressView`?

The whole `MMProgressHUDProgressStyle` part would need to be removed though. This is what I've come up with: Have a BOOL `indeterminate` which is `YES` by default. When setting that bool to `NO` the HUD uses the progress view specified in `-[MMHud radialProgressViewClass]`. By default there's two classes to choose from (The radial progress view and the linear one which still needs to be implemented). And on top of that you can make your own custom progress views that conform to this protocol.

That seems pretty solid to me, let me know what you think ;)