Add documentation to cli scripts
Add validate() to let child classes add custom validations
Add digital write to cli package