rename needs_instance to require_instance

to make it not sound like it returns a boolean