Making protocol methods optional