renamed Dispatcher to AppChain, because it is a Chain-of-Reponsibility implementation.