Work in Progress - I have now got the charting working properly with a practice method.

TODO:// I'm going to split out the method in to various specific methods and implement through an interface contract.