Abstract all exception logic into exceptionally gem