Making public APIs virtual