Add scalate generating support
Add scalate trait