starting a concerns pattern that can encapsulate common functionality between related agents