This is a breaking change extracted from some work I've been doing. May rename branch to 2.0..