Don't use macro for UserInterface implementation
Use UserInterface::instantiate() instead