Refactor: Keep public methods at the bottom
Support default if the wrapped method errors