Requiring Ruby 2.0 or greater due to heavy use of keyword arguments