more generalisation and removing duplication of destroy method

currently the destroy is in it's own modules, but could eventually form a general
set of CRUD actions