Driver duty constructor: A pattern for public transport systems