The custom tasks in buildSrc are a mixture of concrete and abstract classes. For consistency and to ease future Gradle version upgrades we should make them all abstract and make uses of Gradle's various Property classes where it makes sense to do so.