Shouldn't this call `instance`? Also extend in `class << self`?