it's predictable , but it jumps through the expected hoops with style and even some depth .
Subjectivity: subjective