Ah, right, the function itself is never used anywhere. 

> If bullet is going to pass X parameters to this callback, how can you remove some of them? 

Is this in reference to the second option I mentioned? The parameter *types* still have to be in the parameter list, you just don't give a name to the variable. Take a system that doesn't need the frame duration in its `update` method. Defining the method like this:

    void
    MySystem::update(
        int milliseconds
    ) {
        // Do nothing
    }

will result in a warning about the unused variable `milliseconds`. To avoid that, we can write the definition like this:

    void
    MySystem::update(int) {
        // Do nothing
    }

The type `int` still occurs in the list, matching the signature that's declared in the header, it's just unnamed.