Did do a search . Didn ' t find the answer I was looking for so I posted my own question . Cheers <| sep |> It seems like there are two questions here . 1 Can this thing be stomped ? 2 what is the result of a stomp ? I like the thought process in this statement as it hints at a different approach . It just needs to be framed to fit an ECS context . So lets say you can have a stompable component on both Goomba and Turtle entities . Its only purpose is to identify the entity as something that can be stomped . Now the Goomba might have a squishy component and the Turtle an armored component . These components will help to differentiate the naturebehavior of a stompable entity yet they are qualities that can exist independently of the notion Can this thing be stomped ? thus they can be used in other scenarios as well . With this setup you can now have separate Systems to manage these two cases . A SquishyStompSystem that processes entities with a stompable and squishy component and an ArmoredStompSystem that processes entities with a stompable and armored component . I favor this approach over having a single system with a switch statement checking an enum . The behaviors now live in independent Systems which makes things simpler conceptually .