Reasonable defaults for problem.sourceAtPos and problem.neumannAtPos
Especially for the source term a reasonable default would be 0. Then the user doesn't need to implement the method at all if there are no source terms in the problem. For neumann it could also be discussed if a reasonable default might be no-flow / 0.