SmartObj is a custom object that lets you define default values and value checkers.