Describe the solution you'd like
Characteristic objects should be able to be stand alone objects. This doesn't guarantee that the underlying OS-specific BLE characteristic has been initialized since some implementations are dependent on the system as a whole. Rather the class defines the basic properties and functions of the characteristic but do not guarantee full function until it is incorporated into a whole app etc.
[x] constructor should take only values that describe the characteristic to be made; i.e., it should not be dependent on a service_uuid, but rather can be associated with a service later.
[x] Base
[x] CoreBluetooth
[x] DotNet (includes #35)
[x] BlueZ (includes #37)
[x] Logic for building the os object where initialization of such objects requires more than the characteristic should be moved else where
[x] uuid should be a Union[str, UUID] type. Regardless of input type, all strings should be converted to UUID
[x] Where appropriate service uuid should be added / modified
[x] Add general and os-sepcific unit tests where appropriate
Describe the solution you'd like Characteristic objects should be able to be stand alone objects. This doesn't guarantee that the underlying OS-specific BLE characteristic has been initialized since some implementations are dependent on the system as a whole. Rather the class defines the basic properties and functions of the characteristic but do not guarantee full function until it is incorporated into a whole app etc.