When throwing, always use Error objects.
Don't accept data after end or error.
Release version 0.2.4 of the npm package.