Javascript immutability helper function
Create reusable state for your react components
MemoMoo provides an easy way to cache the function results