sealed classes vs sealed interface