Changed Signal implementation to one using abstract to wrap arrays - very very fast and awesome.