Reusable workflow library for Django