Add custom errors so callers can handle different error modes: - reward source unreachable - probability calculation failed - arm selection failed