Look at the subclasses of FluidEvent. They are related to moving, filling, draining and spilling of tanks. Their Javadoc tells you exactly what they do.
Yes. However, if you're not adding functionality other than what the default implementation offers, you should probably use the default implementation.
That's how it was done before the capability system was around, and they probably were to lazy to update their code.