The use of self is the problem…
I think to make your function work you need to call @self.f1 since you’ve defined the wrapper from within the class Form.
You could also define your wrapping function outside of the class and do away with the self altogether.