Complete refactor to have CapabilityConsumer instead of ActionHandler