Each attribute has accessor (get_*) and mutator (set_*) methods, and also predicate (has_*) and clearer (clear_*) methods where the attribute is optional. Where an attribute represents a one-to-many relationship the mutator accepts an arrayref and the accessor returns an array.