Wordpress plugin that creates a custom post type from an interface and a base class