move type dispatch to chef_object module