Допустим, есть какое-то общее множество действий А над объектом. Скажем, оно реализовано перечислением, где каждый элемент перечисления - код какого-то действия. Есть метод, принимающий какой-то объект и возвращающий подмножество возможных действий В над этим объектом. Соответственно В лежит в А. Как это реализуется обычно?