Allocate form using self.class.alloc so that subclasses will instantiate their own type