Several robustness improvements

Added widget properties attribute
Added checkbox widget
`readonly` where possible
Minor delegate & callback readability improvements