public static void processInput( Camera camera, Controller controller )
    {
        if ( Input.isBindingActive( "unbindMouse" ) )
        {
            Mouse.setGrabbed( false );
        }
        if ( Input.isBindingActive( "bindMouse" ) )
        {
            Mouse.setGrabbed( true );
        }
        if ( Input.isBindingActive( "dbgc" ) )
        {
            Lumberjack.debug( "dbgc", camera.toString() );
        }

        float movementSpeed = 0.01f * TestingHelper.getDelta();
        if ( Input.isBindingActive( "sprint" ) )
        {
            movementSpeed *= 2;
        }

        if ( Input.isBindingActive( "forward" ) )
        {
            controller.moveForward( movementSpeed );
        }
        if ( Input.isBindingActive( "backward" ) )
        {
            controller.moveBackward( movementSpeed );
        }

        if ( Input.isBindingActive( "left" ) )
        {
            controller.moveLeft( movementSpeed );
        }
        if ( Input.isBindingActive( "right" ) )
        {
            controller.moveRight( movementSpeed );
        }

        camera.setYaw( camera.getYaw() + ( Mouse.getDX() * .05f ) );
        camera.setPitch( camera.getPitch() - ( Mouse.getDY() * .05f ) );
    }