I have few suggestion to make but, I think Jason has explained it more clearly in his above blogpost.
--Hope this helps!