- Added import for `bformat` and `encoding` module
- Documented `watch()`
- Added `bformat` read-and-decode `receiveMessage(Socket, ref byte[])` call followed by a `TaggedMessage.decode(byte[])` call
- Added documentation for fields `tag` and `data`
- Added documentation for both constructors
- Added documentation for `getPayload()`, `getTag()`, `setPayload(byte[])` and `setTag(ulong)`
- Added parameter-less (default) constructor marked as `private` to `TaggedMessage`
- Added decoding support in `decode(byte[])` which will return a new instance of `TaggedMessage`
- Added a unit test to test encoding and decoding
- Added stub `sendMessage(TaggedMessage)` which will encode into the tristanable format, then wrap into bformat and send over the socket
- Added import for `TaggedMessage` from `tristanable.encoding` module
- Ensured `Watcher`'s constructor is package-level accessible only
Manager
- The constructor now creates an instance of `Watcher`
- Added a `start()` method which calls `watcher.start()`
- Added public imports along with comments per each
Encoding
- Added a stub class, `TaggedMessage`, for encoding and decoding the tristanable byte payload
Exceptions
- Added `TristanableException` exception type along with the `Error` enum sub-type
Manager
- Added stub code for `Manager` to manage the queues and socket
Queue
- Added stub class representing a queue with a tag (`Queue`)
QueueItem
- Added stub class `QueueItem` which represents an item that is enqueued/dequeued onto a `Queue`
Watcher
- Added stub class `Watcher` which will manage the socket reading-wise
- Added an array of `Queue`(s) to the manager
Queue
- Added comments
- Initialize the libsnooze `Event` during construction of the `Queue` type
Dub
- Upgraded libsnooze from `0.2.7` to `0.2.9`
Repository
- Removed `dub.selections.json` file
- Added `dub.selections.json` to the `.gitignore`