improved testability of TransferEventController, added test cases