Canvas lib component (in progress)