The handler registry is a singleton object that manages the channel handler objects that are created per device the first time that the device accesses a specific channel. This guarantees that each channel handler instance is thread-safe and that only one process can access a handler at a given time. The handler registry also reduces the overhead of object creation for each request.