UI Form is now abstract and implements macros