add actor module
refactor callback like methods to be true callbacks