Added documentation
Revised init handling of preferences for consistency
Fixed issue where some boolean flags (ie, modes) were not being handled properly

Signed-off-by: achbed <github@achbed.org>