Split parts of feed.ml out into impl.ml