Design a custom Queue class from scratch. Implement all standard operations, including enqueue, dequeue, and peek.