Use a base class for platform targets, instead of using an interface