allow design object as first parameter
accept first parameter to be action trigger object
improved management of unique IDs via own class