The best part is that Catalyst implements all this flexibility in a very simple way.
+=over 4
+
=item * B<Building Block Interface>
Components interoperate very smoothly. For example, Catalyst automatically makes a L<Context> object available in every component. Via the context, you can access the request object, share data between components, and control the flow of your application. Building a Catalyst application feels a lot like snapping together toy building blocks, and everything just works.
Catalyst provides helper scripts to quickly generate running starter code for components and unit tests.
+=back
+
=head2 Quickstart
Here's how to install Catalyst and get a simple application up and running, using the helper scripts described above.