is_concrete is now a public method