Add basename as an "abstract method" to Resource