FIX: Rewrite Member getCMSFields to ensure updateCMSFields is only run once (fixes #2827)

Fix usage of  inside closure

Can't use self:: in closure either

Basic unit tests to check extensions are applied correctly