Refactor features a bit more to describe what the constructors do