https://github.com/pydanny/cached-property
