Add smart property script tools

Supplants #20.