Timestamp and documentation improvements
Split keygen interface into a class