# Modules

*Modules* are instances of [drivers](/key-concepts/drivers.md). These represent a device to be controlled, service integration or piece of logic that controls how a system should behave.

![Modules are instances of drivers.](/files/-LeKFkzdUDnEJtqf2vTO)

All modules expose two things:

1. **State** - status information about the device, service, or higher level logic they control (e.g. power status, upcoming booking info, recent chat messages)
2. **Behavior** - actions which they can execute (e.g. power on/off, create/edit booking, post a chat message)

Each module can be individual started or stopped at any time. When started, ngine will attempt to connect to the associated physical device or service and keep track of its status. When Stopped, Engine will disconnect from that device and not send any commands to it. Or in the case of logic modules, this can be used to enable / disable its functionality.

Modules must be associated with at least one [system](/key-concepts/systems.md). Where a device or service is used across multiple systems (such as a lighting gateway, centrally racked matrix switcher, or common service such as a chatbot integration) the same instance can be shared across everywhere it is needed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://engine.place.technology/key-concepts/modules.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
