Add debug logging
Remove commented out and unused test cases
Definitions improvements:
 - Use class factory methods
 - Use @property to lazy evaluate host and roles
 - Name internal function with leading "_"
 - Move examples into doc string
Change comment for future work.
Better logging. Proper handling of components
Move the main task host and role loop into an iterconffiles and call from tasks themselves.