Description: Easy to extend Easy to replace Difficult to get high performance due to multiple layers Difficult to avoid jump-call