Andrew/refresh

pull to refresh. merge other PR's before reviewing this one
Is there a way you can do without these methods? Seems like you can get these attributes from something like `intrinsicContentSize` or something related to that