# Observer API > The API reference of `@playcanvas/observer` 1.7.1: observable data (`Observer` and `ObserverList`), events and undo history, which PCUI components bind to. For guides, see Data Binding in the [PCUI index](https://developer.playcanvas.com/user-manual/pcui/llms.txt) of the User Manual. ## Classes - [EventHandle](https://api.playcanvas.com/observer/classes/EventHandle.md): EventHandle manages the binding and unbinding of event listeners. - [Events](https://api.playcanvas.com/observer/classes/Events.md): Base class for event handling, providing mechanisms to register, emit, and unbind events. - [History](https://api.playcanvas.com/observer/classes/History.md): Manages history actions for undo/redo operations. - [Observer](https://api.playcanvas.com/observer/classes/Observer.md): The Observer class is used to observe and manage changes to an object. - [ObserverHistory](https://api.playcanvas.com/observer/classes/ObserverHistory.md): The ObserverHistory module provides a mechanism for tracking changes to an Observer object and storing them in a... - [ObserverList](https://api.playcanvas.com/observer/classes/ObserverList.md): The ObserverList class is a list of Observer objects. ## Type aliases - [HandleEvent](https://api.playcanvas.com/observer/types/HandleEvent.md): Callback used by Events and EventHandle functions. - [HistoryAction](https://api.playcanvas.com/observer/types/HistoryAction.md): Represents an action in the history. - [ObserverSync](https://api.playcanvas.com/observer/types/ObserverSync.md): The ObserverSync class is used to construct an interface for synchronizing changes from Observer to other services. ## Optional - [All pages in one file](https://api.playcanvas.com/observer/llms-full.txt): 9 pages (24 KB), for downloading and searching rather than reading into context.