Extracted When interface and cleaned up javadocs