Looks pretty clean. Very cool!
Though I have two things:
1) your file layout is off, you want:
2) (RE: visibility) I'd go with protected instead of private, private is only accessible from the class that defines them, if I extend your class I wouldn't be able to use them.