Thanks for your contribution, I am certainly gonna merge this. But can u add one more change in it. Removing context from member data is very much right way. Also remove context which you are passing in various private methods, because in future I am thinking to make those methods as 'public'. You can directly use getContext() inside any methods. Thanks for your contribution buddy :)