by slashrsm: Initial implementation of type plugin.
by slashrsm: Add validation.
Merge pull request #1 from slashrsm/initial_work

by slashrsm: Initial implementation of type plugin.