Profile
A class representing a Bluetooth LE profile.
The profiles are intended to separate the underlying GATT services and characteristics and the application logic and device API. For example, the profile can expose methods to turn a light ON or OFF, while internally it would use Bluetooth LE connection.