Adding OutputFormatter base class

Shouldn't need NotNull for private methods. You're passing in the parameter that's guaranteed to be not null