More fluent API, more checks.

Signed-off-by: Nigel Magnay <nigel.magnay@gmail.com>