Remove the cached_property decorator and place it in it's own package