class SpecializedIntent : Intent { constructor() : this(Intent()) var field1 : Int = -1 get() { if(field == -1) field = getIntExtra(FIELD_1, -1) return field } set(value) { field = value putExtra(FIELD_1, value) } constructor(other: Intent) { this.fillIn(other, 0) } companion object { val FIELD_1 = "country.package.name.FIELD_1" } }