Is there any reason why this needs to be an Activity? As far as I can tell, you're only using it to access resources etc. If you think in the future you might need a reference to an Activity for showing dialogs or something, then keep it this way for forwards compatibility. But if you can make this take just any Context, developers can call authorize() from their Application, or a Service or something if they would like. Not sure whether that would be useful anyway, but worth considering.