Switch all custom error types and handler signatures from `Box<dyn std::error::Error + Send + Sync>` to `anyhow::Result`. Add anyhow as a dependency. Fix typos and update function names for consistency.