allow using your own Definition in representers.
Revert "Revert "allow using your own Definition in representers.""

This reverts commit dfa22d4d2f1cf43ff70dcea3066b5e7bcfcab5f3.