push().createHistoricsPull and push().createStreamPull instead of cryptic use of nulls

plus some cleanup
minor tweaks
hasNext peeks at the next item