refactor AbstractEntityController to use Revision* Functions per defaultValue