refactor the lifecycle methods into a support module and mixin to our objects