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