In method declarations can be used the empty directive to signify that no method implementation will be provided. In contrast to abstract methods, the compiler will generate an empty body for the method, and the method can be called.
This is helpful when adding methods in base classes that can be overridden in descendants but aren't required. It is also helpful when defining a class interface that will later be fleshed out and implemented.
method ImplementMeIfNeeded; virtual; empty;