Better docstrings, refactored events into __init__