Entity. accept work or callback, some util functions