Sample Project

This PR is for discussion only do not merge :x: 

Here is the sample application showcasing usage of all features present in the previous PRs.
it depends, for other lifecycle methods it easier because you can top to bottom put them in lifecycle order with the local methods inbetween. `onActivityResult` 95% of the time is called between `onResume` and `onPause` I always consider `onActivityResult` should *atleast* be below the place where `startActivityForResult` is called and then it is still top down readable. When I read `onActivityResult` before I have worked out where it was started I always think huuh I don't need that in my brain yet