Adding a first pass at soft delete
Using module mixin instead of bindings