The pluggable interfaces in MOOSE are called `Systems`.  Each `System` provides a unique capability to help you craft your application.  Below is a current list of each of the `Systems`:

 * [Actions:](ActionsSystem) Set up the problem to be solved (custom input file syntax)
 * [Auxiliary Kernels:](AuxKernels) Explicit calculations that form fields
 * [Auxiliary Variables:](AuxVariables) Allow explicit calculations using nonlinear variables.
 * [BCs:](BCs) Boundary conditions
 * Constraints: Tying degrees of freedom to each other
 * [Dampers:](Dampers) Keep Newton's method on the right path
 * [DGKernels:](DG) Discontinuous Galerkin element boundary integrals
 * [DiracKernels:](DiracKernels) Point sources/sinks
 * [Executioners:](Executioners) Control how the simulation unfolds (Transient/Steady/etc.)
 * [Functions:](Functions) Flexible system for creating functions of space and time
 * [GeomSearch:](GeomSearch) Spatial relationships between pieces of mesh (useful for contact)
 * [ICs:](ICs) Initial conditions
 * Indicators: Relative error computations used for mesh adaptivity
 * [InterfaceKernels:](InterfaceKernels) Interface physics across subdomains
 * [[Kernels]]: PDE operators representing physics
 * Markers: Select elements to refine or coarsen for mesh adaptivity
 * [[Materials]]: Compute physical coefficients needed by [[Kernels]]
     * ["Discrete" Materials](Materials/DiscreteMaterial): Materials that are computed explicitly.
     * ["Derivative Material Interface](Materials/Derivativematerialinterface): Supplying derivatives along with materials.
 * [[Mesh]]: Read in / create geometry
 * [MeshModfiers](MeshModifiers): Modify the mesh
 * [MultiApps:](MultiApps) Run multiple MOOSE-based solves/codes simultaneously in parallel
 * NodalKernels
 * [[Outputs]]: Output simulation results
    * [Oversampling](Outputs/Oversample): Visualize higher-order solutions
 * [Postprocessors:](Postprocessors) Scalar reductions of field data (integrals, averages, etc.)
 * [Preconditioners:](Preconditioners) Accelerate linear convergence
 * Predictors: Accelerate nonlinear convergence by using good initial guesses
 * Splits: Advanced preconditioning capability
 * TimeIntegrators: Just like it says
 * [TimeSteppers:](TimeSteppers) How to advance through time
 * [Transfers:](Transfers) Move data between MultiApps
 * [[UserObjects]]: Custom calculations that can feed any other system in MOOSE
    * [SolutionUserObject](UserObjects/SolutionUserObject): Loading data from existing solution files.
 * Variables: Setup the unknowns for your problem
 * [Controls](Controls): System for altering input parameters at runtime.