Added Command registration Support!

Do not use public in interfaces