Pretty swell exception handling & Protocol class