Change conditional method declaration into clean decorators.
Add testing that unavailable methods are actually not available.