Use Compiler macros instead of raw "final" and "override"