I think having people to hook RateMyApp into the Application is something that should be avoided because this is simple easy to use library and that would add too much overhead in my opinion. 

Let's say in the activities `onCreate` someone wants to do `rater.appLaunch`. The correct way to do this in android is 
```java
if (savedInstanceState == null) {
    rater.appLaunch(this);
}
```

`savedInstanceState` is only null on an Activity the first time the activity is made. After rotation this is never going to be null(*note* this is not the case with similar fragment methods). This is the way that any `setRetainInstance(true);` fragment that is added in `onCreate` needs to be handled.

One thing we can do is add to the READ_ME the correct way to add an `appLaunch` in the onCreate. I can also change the code in the sample to show that with a comment.

The thing to remember is that the fragment is **heavily** tied into its activity's lifecycle and because of that they are not designed to be singletons. Not only will you leak if you try to disconnect it from its activity but your going to end up in a situation that your activity and/or `fragmentmanger` reference is stale. This will cause a lot of problems.