I don't think this method should be called onSurfaceTeardown, especially that "teardown" is an event we fire for nodes and surface is not even a node. If it is done in the same way in the other place - probably it's wrong.