Made protocol methods optional.