An attribute based workflow engine for controller actions