restructure Action based classes and traits