add Customer actor tests, transaction tests, and refactoring