Posts: Introduce WP_Post_Type and use it in register_post_type() and unregister_post_type().
This changes the global $wp_post_types to an array of WP_Post_Type objects. WP_Post_Type includes methods to handle post type supports, rewrite rules, meta boxes, hooks, and taxonomies.
Each post type argument becomes a property of WP_Post_Type.