implement config item with the descriptor protocol.
use the ConfigItem in the backend implementations.
Merge pull request #4 from tonyseek/config-item

Implement Config Item with The Descriptor Protocol