I also like your use of a NullObject http://robots.thoughtbot.com/rails-refactoring-example-introduce-null-object  with your BasicExempt.